RE: [External] Re: [PATCH v2] libnvdimm, region_devs: stop NDD_ALIASING bit test if one test pass

From: Ocean HY1 He
Date: Tue Sep 04 2018 - 23:26:43 EST




> -----Original Message-----
> From: Dan Williams <dan.j.williams@xxxxxxxxx>
> Sent: Tuesday, September 04, 2018 11:58 PM
> To: Ocean He <oceanhehy@xxxxxxxxx>
> Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>; Vishal L Verma
> <vishal.l.verma@xxxxxxxxx>; Dave Jiang <dave.jiang@xxxxxxxxx>; linux-
> nvdimm <linux-nvdimm@xxxxxxxxxxxx>; Linux Kernel Mailing List <linux-
> kernel@xxxxxxxxxxxxxxx>; Ocean HY1 He <hehy1@xxxxxxxxxx>
> Subject: [External] Re: [PATCH v2] libnvdimm, region_devs: stop
> NDD_ALIASING bit test if one test pass
>
> On Tue, Sep 4, 2018 at 3:47 AM, Ocean He <oceanhehy@xxxxxxxxx> wrote:
> > From: Ocean He <hehy1@xxxxxxxxxx>
> >
> > There is no need to finish entire loop to execute NDD_ALIASING bit test
> > against every nvdimm->flags.
>
> Of course there is. I see nothing stopping someone mixing an NVDIMM
> that supports labels with one that doesn't.
Hi Dan,
Thanks for your comments.

I only have NVDIMM which supports label, so I could not do this type test yet.
As I understand your words, in mixing status, the nstype would be
ND_DEVICE_NAMESPACE_PMEM if one NVDIMM supports labels. Am I right?

By the way, do you think my patch is valuable to save a few cpu cycles here?

Ocean.
> If anything I think we
> need fixes to make sure this operates correctly to force disable
> BLK-mode capactiy when the PMEM capacity is interleaved with a
> label-less NVDIMM.
I am trying to translate your words to test steps, please correct me for
misunderstanding.
#1. Prepare 2 NVDIMMs which has no label capacity.
#2. Create a region which has PMEM capacity and interleaved.
ipmctl create -f -goal -socket 0x1 PersistentMemoryType=AppDirect
#3. Create a BLK-mode capacity namespace, then this namespace should be
"force disable" ?
ndctl create-namespace -r region1 -s 1g -t pmem -m sector

Ocean.