Eliot Moss wrote:
> Dear NVDimm folk:
> 
> I write concerning ndctl verion 72.1+ running on Ubuntu 22.04 (Linux
> 5.15.0-41-generic x86_64).
> 
> The system is a brand new two socket Dell server with cpu model Xeon GOld 6346
> and 4 Tb of Optane DC P200 memory.
> 
> I am able to ue ndctl to configure the two regions with one namespace each in
> fsdax mode.  Here is what ndctl list --namespaces -R prints:
> 
> {
>    "regions":[
>      {
>        "dev":"region1",
>        "size":2177548419072,
>        "align":16777216,
>        "available_size":0,
>        "max_available_extent":0,
>        "type":"pmem",
>        "iset_id":-953140445588584312,
>        "persistence_domain":"memory_controller",
>        "namespaces":[
>          {
>            "dev":"namespace1.0",
>            "mode":"fsdax",
>            "map":"dev",
>            "size":2143522127872,
>            "uuid":"ed74879e-4eb6-4f88-bb7f-ae018d659720",
>            "sector_size":512,
>            "align":2097152,
>            "blockdev":"pmem1",
>            "name":"namespace1"
>          }
>        ]
>      },
>      {
>        "dev":"region0",
>        "size":2177548419072,
>        "align":16777216,
>        "available_size":0,
>        "max_available_extent":0,
>        "type":"pmem",
>        "iset_id":-3109801715871676280,
>        "persistence_domain":"memory_controller",
>        "namespaces":[
>          {
>            "dev":"namespace0.0",
>            "mode":"fsdax",
>            "map":"dev",
>            "size":2143522127872,
>            "uuid":"64c75dc0-3d7a-4ac0-8698-8914e67b18db",
>            "sector_size":512,
>            "align":2097152,
>            "blockdev":"pmem0",
>            "name":"namespace0"
>          }
>        ]
>      }
>    ]
> }
> 
> What concerns me is that it shows "persistence_domain":"memory_controller"
> when I think it should show the persistence domain as "cpu_cache", since this
> system is supposed to support eADR.

This is determined by:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/acpi/nfit/core.c?h=v5.15#n3022

The first thing to check is whether your ACPI tables have that bit set,
where that flag is coming from this table:

https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#platform-capabilities-structure

You can dump the table with the acpica-tools (acpidump and iasl).  Some
examples of how to extract and disassemble a table is here (see the
usage of iasl in the "how does it work" section):

https://docs.kernel.org/admin-guide/acpi/initrd_table_override.html

> I wondered if maybe I needed the very latest version of ndctl for it to print
> that, but I cannot build it.  I did my best to obtain the pre-reqs -- they
> mostly have different names under Ubunut -- but the first meson command,
> "meson setup build" hangs and if I then try the compile step it complains.

ndctl is just packaging up the kernel's sysfs attribute data into JSON.
That data is coming direct from:

/sys/bus/devices/nd/$region/persistence_domain

> I am hoping someone here might be able to shed light on how I can verify that
> this system does support persistence_domain cpu_cache, or if something needs
> to be enabled or turned on, etc.  I have also gotten my Dell sales rep to
> contact the Dell product engineers about this, but have not yet heard back.

I can't help on that side, but if you do get a contact I expect the
acpidump result from above will be useful.

> Thanks for any light you might shed on either issue ...
> 
> Regards - Eliot Moss
> Professor Emeritus, Computer and Information Sciences
> Univ of Massachusetts Amherst
> 

Reply via email to