Intel Optane P100 memory and namespaces

Hi, first setup with TrueNAS Scale. I was thinking / hoping to use interleaved Optane P100 memory with namespaces for the ZIL (small namespace) & L2ARC data (the rest). Ensuring even wear and maximum performance.

However in Debian 12 I can see the namespaces (supported using label 1.2), see the four namespaces (two per numa / cpu)

root@debian:~# ls /dev/p [tab]
pmem0 pmem0.1 pmem1 pmem1.1 port ppp psaux ptmx ptp0 ptp1 ptp2 ptp3 ptp4 ptp5 ptp6 ptp7 pts/

and

root@debian:~# ndctl list
[
{
“dev”:“namespace1.0”,
“mode”:“raw”,
“size”:135291469824,
“uuid”:“0c86305c-db88-4ff6-b35b-de1a80453325”,
“sector_size”:512,
“blockdev”:“pmem1”
},
{
“dev”:“namespace1.1”,
“mode”:“raw”,
“size”:1488206168064,
“uuid”:“033b3c3c-3347-4109-86f6-105b66926c85”,
“sector_size”:512,
“blockdev”:“pmem1.1”
},
{
“dev”:“namespace0.1”,
“mode”:“raw”,
“size”:1488206168064,
“uuid”:“a37c7b53-27b7-403e-bc62-1ea79f39390d”,
“sector_size”:512,
“blockdev”:“pmem0.1”
},
{
“dev”:“namespace0.0”,
“mode”:“raw”,
“size”:135291469824,
“uuid”:“e1a6c231-2c58-4d06-b203-8844372b796d”,
“sector_size”:512,
“blockdev”:“pmem0”
}
]

root@debian:~# uname -a
Linux debian 6.1.0-22-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21) x86_64 GNU/Linux

However booting into TrueNAS Scale, the name spaces disappear:

(admin@truenas[~]$ uname -a
Linux truenas 6.6.29-production+truenas #1 SMP PREEMPT_DYNAMIC Thu May 23 16:07:55 UTC 2024 x86_64 GNU/Linux)

Tried in both latest and night

root@truenas[~]# ls /dev/pmem0 [tab]
pmem0# pmem1# port% ppp% psaux% ptmx% ptp0% ptp1% ptp2% ptp3% ptp4% ptp5% ptp6% ptp7% pts/

root@truenas[~]# ndctl list
[
{
“dev”:“namespace1.0”,
“mode”:“raw”,
“size”:1623497637888,
“sector_size”:512,
“blockdev”:“pmem1”
},
{
“dev”:“namespace0.0”,
“mode”:“raw”,
“size”:1623497637888,
“sector_size”:512,
“blockdev”:“pmem0”
}
]

I’m wondering if this is to do with TrueNAS scale using an old driver (only supporting 1.1 labels), but the driver versions says they are from kernel 6.6 which definitely does.

However TrueNAS Scale has a custom ntb_pmem driver written by ixsystem’s that’s not part of Debian, that’s a additional dependency. Could this be the issue?

Anyone seen this before?

Fill in a JIRA ticket to get an answer from iX.

Thanks will do