All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neeraj Kumar <s.neeraj@samsung.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: linux-cxl@vger.kernel.org, nvdimm@lists.linux.dev,
	linux-kernel@vger.kernel.org, gost.dev@samsung.com,
	a.manzanares@samsung.com, vishak.g@samsung.com,
	neeraj.kernel@gmail.com, cpgs@samsung.com
Subject: Re: [PATCH V6 10/18] cxl/mem: Refactor cxl pmem region auto-assembling
Date: Fri, 6 Mar 2026 15:52:00 +0530	[thread overview]
Message-ID: <158453976.61772792583024.JavaMail.epsvc@epcpadp2new> (raw)
In-Reply-To: <1b67c345-1594-4221-b699-e26a00d17bfc@intel.com>

[-- Attachment #1: Type: text/plain, Size: 3099 bytes --]

On 27/01/26 04:45PM, Dave Jiang wrote:
>
>
>On 1/26/26 3:48 PM, Dave Jiang wrote:
>>
>>
>> On 1/23/26 4:31 AM, Neeraj Kumar wrote:
>>> In 84ec985944ef3, devm_cxl_add_nvdimm() sequence was changed and called
>>> before devm_cxl_add_endpoint(). It's because cxl pmem region auto-assembly
>>> used to get called at last in cxl_endpoint_port_probe(), which requires
>>> cxl_nvd presence.
>>>
>>> For cxl region persistency, region creation happens during nvdimm_probe
>>> which need the completion of endpoint probe.
>>>
>>> In order to accommodate both cxl pmem region auto-assembly and cxl region
>>> persistency, refactored following
>>>
>>> 1. Re-Sequence devm_cxl_add_nvdimm() after devm_cxl_add_endpoint(). This
>>>    will be called only after successful completion of endpoint probe.
>>>
>>> 2. Create cxl_region_discovery() which performs pmem region
>>>    auto-assembly and remove cxl pmem region auto-assembly from
>>>    cxl_endpoint_port_probe()
>>>
>>> 3. Register cxl_region_discovery() with devm_cxl_add_memdev() which gets
>>>    called during cxl_pci_probe() in context of cxl_mem_probe()
>>>
>>> 4. As cxlmd->attach->probe() calls registered cxl_region_discovery(), so
>>>    move devm_cxl_add_nvdimm() before cxlmd->attach->probe(). It guarantees
>>>    both the completion of endpoint probe and cxl_nvd presence before
>>>    calling cxlmd->attach->probe().
>>>
>>> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
>>> Reviewed-by: Dave Jiang <dave.jiang@intel.com>
>>> Signed-off-by: Neeraj Kumar <s.neeraj@samsung.com>
>>
>> Hi Neeraj,
>> Just FYI this is the patch that breaks the auto-region assemble in cxl_test.
>
>So it's missing this part in cxl_test. cxl_test auto region is now showing up. But now I'm hitting some lockdep issues.
>
>---
>diff --git a/tools/testing/cxl/test/mem.c b/tools/testing/cxl/test/mem.c
>index cb87e8c0e63c..03af15edd988 100644
>--- a/tools/testing/cxl/test/mem.c
>+++ b/tools/testing/cxl/test/mem.c
>@@ -1686,6 +1686,7 @@ static void cxl_mock_test_feat_init(struct cxl_mockmem_data *mdata)
>
> static int cxl_mock_mem_probe(struct platform_device *pdev)
> {
>+       struct cxl_memdev_attach memdev_attach = { 0 };
>        struct device *dev = &pdev->dev;
>        struct cxl_memdev *cxlmd;
>        struct cxl_memdev_state *mds;
>@@ -1767,7 +1768,8 @@ static int cxl_mock_mem_probe(struct platform_device *pdev)
>
>        cxl_mock_add_event_logs(&mdata->mes);
>
>-       cxlmd = devm_cxl_add_memdev(cxlds, NULL);
>+       memdev_attach.probe = cxl_region_discovery;
>+       cxlmd = devm_cxl_add_memdev(cxlds, &memdev_attach);
>        if (IS_ERR(cxlmd))
>                return PTR_ERR(cxlmd);
>
>---
>
>
>>
>> DJ

Hi Dave,

Yes using the above snippet auto region failure is getting fixed.
But still with above fix cxl-topology.sh is failing.

Actually we have a test case in cxl-topology.sh where we disable
mem device and check its availability after enabling it. And this
test case is failing in this case.

I am working on multi interleave support. I will test this with
next series and fix it accordingly.


Regards,
Neeraj

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2026-03-06 10:23 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20260123113121epcas5p125bc64b4714525d7bbd489cd9be9ba91@epcas5p1.samsung.com>
2026-01-23 11:30 ` [PATCH V6 00/18] Add CXL LSA 2.1 format support in nvdimm and cxl pmem Neeraj Kumar
2026-01-23 11:30   ` [PATCH V6 01/18] nvdimm/label: Introduce NDD_REGION_LABELING flag to set region label Neeraj Kumar
2026-01-23 11:30   ` [PATCH V6 02/18] nvdimm/label: CXL labels skip the need for 'interleave-set cookie' Neeraj Kumar
2026-01-23 11:30   ` [PATCH V6 03/18] nvdimm/label: Add namespace/region label support as per LSA 2.1 Neeraj Kumar
2026-01-23 11:30   ` [PATCH V6 04/18] nvdimm/label: Include region label in slot validation Neeraj Kumar
2026-01-23 11:30   ` [PATCH V6 05/18] nvdimm/label: Skip region label during ns label DPA reservation Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 06/18] nvdimm/label: Preserve region label during namespace creation Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 07/18] nvdimm/label: Add region label delete support Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 08/18] nvdimm/label: Preserve cxl region information from region label Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 09/18] nvdimm/label: Export routine to fetch region information Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 10/18] cxl/mem: Refactor cxl pmem region auto-assembling Neeraj Kumar
2026-01-26 22:48     ` Dave Jiang
2026-01-27 23:45       ` Dave Jiang
2026-03-06 10:22         ` Neeraj Kumar [this message]
2026-01-28  0:02     ` dan.j.williams
2026-03-06 10:18       ` Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 11/18] cxl/region: Rename __create_region() to cxl_create_region() Neeraj Kumar
2026-01-23 12:37     ` Jonathan Cameron
2026-01-23 11:31   ` [PATCH V6 12/18] cxl/region: Add devm_cxl_pmem_add_region() for pmem region creation Neeraj Kumar
2026-01-23 12:39     ` Jonathan Cameron
2026-02-24 18:13     ` Alejandro Lucero Palau
2026-03-06 10:24       ` Neeraj Kumar
2026-03-06 16:28         ` Alejandro Lucero Palau
2026-01-23 11:31   ` [PATCH V6 13/18] cxl/pmem: Preserve region information into nd_set Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 14/18] cxl/pmem_region: Prep patch to accommodate pmem_region attributes Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 15/18] cxl/pmem_region: Introduce CONFIG_CXL_PMEM_REGION for core/pmem_region.c Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 16/18] cxl/pmem_region: Add sysfs attribute cxl region label updation/deletion Neeraj Kumar
2026-01-23 11:31   ` [PATCH V6 17/18] cxl/pmem_region: Create pmem region using information parsed from LSA Neeraj Kumar
2026-01-23 12:49     ` Jonathan Cameron
2026-01-23 11:31   ` [PATCH V6 18/18] cxl/pmem: Add CXL LSA 2.1 support in cxl pmem Neeraj Kumar
2026-01-23 12:54   ` [PATCH V6 00/18] Add CXL LSA 2.1 format support in nvdimm and " Jonathan Cameron
2026-01-23 17:52   ` Dave Jiang
2026-03-06 10:26     ` Neeraj Kumar
2026-01-23 21:16   ` Alison Schofield
2026-03-06 10:27     ` Neeraj Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=158453976.61772792583024.JavaMail.epsvc@epcpadp2new \
    --to=s.neeraj@samsung.com \
    --cc=a.manzanares@samsung.com \
    --cc=cpgs@samsung.com \
    --cc=dave.jiang@intel.com \
    --cc=gost.dev@samsung.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neeraj.kernel@gmail.com \
    --cc=nvdimm@lists.linux.dev \
    --cc=vishak.g@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.