From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C4D6C35FFF for ; Fri, 21 Mar 2025 07:39:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 57CED280002; Fri, 21 Mar 2025 03:39:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 52B66280001; Fri, 21 Mar 2025 03:39:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3CEC6280002; Fri, 21 Mar 2025 03:39:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1BA37280001 for ; Fri, 21 Mar 2025 03:39:54 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D6C9C821FA for ; Fri, 21 Mar 2025 07:39:54 +0000 (UTC) X-FDA: 83244759108.10.4EE59B1 Received: from pegase2.c-s.fr (pegase2.c-s.fr [93.17.235.10]) by imf12.hostedemail.com (Postfix) with ESMTP id A626740003 for ; Fri, 21 Mar 2025 07:39:52 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=csgroup.eu; spf=pass (imf12.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.235.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742542793; a=rsa-sha256; cv=none; b=0DGZip4MRnpMFHru/orZML+9Z5lnHzEEvH+CvSAGVAvHJBTWW2Nfi72KKrAPDXEYSaArs5 RpyGjzLbcMskmbi/zZzGspp/Sj23gx+US2vJA9oGs/cJmmeyk2iJStWML4xAZXrcx5Qk7s msVvE0fC7a+usAZgq7cmzsYrypzZHmA= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=csgroup.eu; spf=pass (imf12.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 93.17.235.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742542793; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=J15Jbp9wRl5RNFYpI+tjinj8QDgskrpLroxCBW90B9Q=; b=vWNmRBqlgwU206hy+unZacvEygu0LJ0gumxhZuZFo8ztzUnD1rD4jynfvXCZ91jPD07Fqp GyU1TKwLIltVVsdG7KMSghkhC1e9qGxnFNT5X4ChsYveTaNBUA4gSr56YZRbtY/LiutYAE 4onvaPy4/2kFJ8Fj2Dj1H0cKheozwNk= Received: from localhost (mailhub3.si.c-s.fr [172.26.127.67]) by localhost (Postfix) with ESMTP id 4ZJvVF4Pn7z9sRy; Fri, 21 Mar 2025 08:39:49 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from pegase2.c-s.fr ([172.26.127.65]) by localhost (pegase2.c-s.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F-EBTBk1L9WD; Fri, 21 Mar 2025 08:39:49 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase2.c-s.fr (Postfix) with ESMTP id 4ZJvVF2zQJz9sRs; Fri, 21 Mar 2025 08:39:49 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 427FB8B79C; Fri, 21 Mar 2025 08:39:49 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 6L_KAMM1K10W; Fri, 21 Mar 2025 08:39:49 +0100 (CET) Received: from [192.168.235.99] (unknown [192.168.235.99]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 491FB8B763; Fri, 21 Mar 2025 08:39:47 +0100 (CET) Message-ID: Date: Fri, 21 Mar 2025 08:39:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 0/8] cxl: support CXL memory RAS features To: shiju.jose@huawei.com, linux-cxl@vger.kernel.org, dan.j.williams@intel.com, dave@stgolabs.net, jonathan.cameron@huawei.com, dave.jiang@intel.com, alison.schofield@intel.com, vishal.l.verma@intel.com, ira.weiny@intel.com, david@redhat.com, Vilas.Sridharan@amd.com Cc: linux-edac@vger.kernel.org, linux-acpi@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, bp@alien8.de, tony.luck@intel.com, rafael@kernel.org, lenb@kernel.org, mchehab@kernel.org, leo.duran@amd.com, Yazen.Ghannam@amd.com, rientjes@google.com, jiaqiyan@google.com, Jon.Grimm@amd.com, dave.hansen@linux.intel.com, naoya.horiguchi@nec.com, james.morse@arm.com, jthoughton@google.com, somasundaram.a@hpe.com, erdemaktas@google.com, pgonda@google.com, duenwen@google.com, gthelen@google.com, wschwartz@amperecomputing.com, dferguson@amperecomputing.com, wbs@os.amperecomputing.com, nifan.cxl@gmail.com, tanxiaofei@huawei.com, prime.zeng@hisilicon.com, roberto.sassu@huawei.com, kangkang.shen@futurewei.com, wanghuiqiang@huawei.com, linuxarm@huawei.com References: <20250320180450.539-1-shiju.jose@huawei.com> Content-Language: fr-FR From: Christophe Leroy In-Reply-To: <20250320180450.539-1-shiju.jose@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: A626740003 X-Stat-Signature: 4ki75yrmn9k3td481xeas888cuj4seer X-HE-Tag: 1742542792-710607 X-HE-Meta: U2FsdGVkX19thgPo1aqLs5cFLI3wYrJt6u5f8Vmnz9+tz8phJPmC/4CmZwe+b0F7ZZBezWCGF7+Mw/kxLo0AsHtVY78S8UzrHffR0GM8E9DP3x6Vn5+7Bw+QAHWLOAbXOYncma0nBYk1pSS4+CudcaWFMEOaYucP0uLoUcV15VapvWDfTdyJrsxkwORScyllYrRXL+PnpulVGVrbBEF6ZfraG5kOIhoYxYGLWpwNi6byq16QaWnveM5HQ48KdHygV9t6w+64j9OJwH7Pr7+VLBPJ/qaJMd+yRXo07vKDsT+JcnTs7SE9k3bzm7M6sG4tbdUX1A54p1vnpO6Dq41Dh4qyQPGwPqPpRdTLYcQzIW1mo/Ooerd5OjStDGTm3L52l+ITS7VhL+pfswPG4iQ53hs3SOI37DE3wm4agYZqxvyFg5aKT82yiSnkfTC8eOa1u4uDzJaxX03A2coEoMw8/SjgWivshIHSSNZa2T7ezgkGodb+3OYN5f19vgVkf1zbiQ0dXIPDtKiBcBHS/S16yPoqVuzbyoPW2FtgIiSAOxMG/cqr1aE3wWhmh6eE0JN7t5vWzWV7XkikIY90VtnmGBjZCC6n+i+/ez7u2dQdx+O40Zgu5IrXI+OH015pMgKHA6OdlalmH2j+cjgDbTYPLPB92X3Vry2g04Ndqj/unfhlMJ8uKsFTmK+1jrh2X9NuH4nxr5XLV+o7hBmSHLY6GwD8+FsHFVw9kYZDSCiHqNNEi/L+Xg6CASmopWcFInUwXq8BnqWtEXOXj0Kxp48yQfN+/DIQPLYwBgGW3lRpteDdzAtJV/50VoEJSpELqsBZucOP7lUijzQAH7UfJHoiNYc+PzIxcwtvcxBElAMp1zccnrTYvoOJ980xTqrvvgNTVFML61Qfiy7mKo59R4xWsUXd1Dihr0yE2vKbkKccEpig9kN1ll+LTQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Le 20/03/2025 à 19:04, shiju.jose@huawei.com a écrit : > From: Shiju Jose > > Support for CXL memory RAS features: patrol scrub, ECS, soft-PPR and > memory sparing. > > This CXL series was part of the EDAC series [1]. > > The code is based on cxl.git next branch [2] merged with ras.git edac-cxl > branch [3]. > > 1. https://lore.kernel.org/linux-cxl/20250212143654.1893-1-shiju.jose@huawei.com/ > 2. https://web.git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/log/?h=next > 3. https://web.git.kernel.org/pub/scm/linux/kernel/git/ras/ras.git/log/?h=edac-cxl > > Userspace code for CXL memory repair features [4] and > sample boot-script for CXL memory repair [5]. > > [4]: https://lore.kernel.org/lkml/20250207143028.1865-1-shiju.jose@huawei.com/ > [5]: https://lore.kernel.org/lkml/20250207143028.1865-5-shiju.jose@huawei.com/ The title for the series is quite confusing, CXL seems to be something else. There is a series here [1] that removes CXL driver, but after looking it seems to be something completely different. [1] https://lore.kernel.org/all/20250219070007.177725-1-ajd@linux.ibm.com/ Christophe > > Changes > ======= > v1 -> v2: > 1. Feedbacks from Dan Williams on v1, > https://lore.kernel.org/linux-mm/20250307091137.00006a0a@huawei.com/T/ > - Fixed lock issues in region scrubbing, added local cxl_acquire() > and cxl_unlock. > - Replaced CXL examples using cat and echo from EDAC .rst docs > with short description and ref to ABI docs. Also corrections > in existing descriptions as suggested by Dan. > - Add policy description for the scrub control feature. > However this may require inputs from CXL experts. > - Replaced CONFIG_CXL_RAS_FEATURES with CONFIG_CXL_EDAC_MEM_FEATURES. > - Few changes to depends part of CONFIG_CXL_EDAC_MEM_FEATURES. > - Rename drivers/cxl/core/memfeatures.c as drivers/cxl/core/edac.c > - snprintf() -> kasprintf() in few places. > > 2. Feedbacks from Alison on v1, > - In cxl_get_feature_entry()(patch 1), return NULL on failures and > reintroduced checks in cxl_get_feature_entry(). > - Changed logic in for loop in region based scrubbing code. > - Replace cxl_are_decoders_committed() to cxl_is_memdev_memory_online() > and add as a local function to drivers/cxl/core/edac.c > - Changed few multiline comments to single line comments. > - Removed unnecessary comments from the code. > - Reduced line length of few macros in ECS and memory repair code. > - In new files, changed "GPL-2.0-or-later" -> "GPL-2.0-only". > - Ran clang-format for new files and updated. > 3. Changes for feedbacks from Jonathan on v1. > - Changed few multiline comments to single line comments. > > Shiju Jose (8): > cxl: Add helper function to retrieve a feature entry > EDAC: Update documentation for the CXL memory patrol scrub control > feature > cxl/edac: Add CXL memory device patrol scrub control feature > cxl/edac: Add CXL memory device ECS control feature > cxl/mbox: Add support for PERFORM_MAINTENANCE mailbox command > cxl: Support for finding memory operation attributes from the current > boot > cxl/memfeature: Add CXL memory device soft PPR control feature > cxl/memfeature: Add CXL memory device memory sparing control feature > > Documentation/edac/memory_repair.rst | 31 + > Documentation/edac/scrub.rst | 47 + > drivers/cxl/Kconfig | 27 + > drivers/cxl/core/Makefile | 1 + > drivers/cxl/core/core.h | 2 + > drivers/cxl/core/edac.c | 1730 ++++++++++++++++++++++++++ > drivers/cxl/core/features.c | 23 + > drivers/cxl/core/mbox.c | 45 +- > drivers/cxl/core/memdev.c | 9 + > drivers/cxl/core/ras.c | 145 +++ > drivers/cxl/core/region.c | 5 + > drivers/cxl/cxlmem.h | 73 ++ > drivers/cxl/mem.c | 4 + > drivers/cxl/pci.c | 3 + > drivers/edac/mem_repair.c | 9 + > include/linux/edac.h | 7 + > 16 files changed, 2159 insertions(+), 2 deletions(-) > create mode 100644 drivers/cxl/core/edac.c >