ipmctl doesn't work

169 views
Skip to first unread message

Anton Gavriliuk

unread,
Jun 14, 2021, 2:35:56 AM6/14/21
to pmem
Hi all

Ipmctl doesn't work on OpenSuse 15.3

linux-tg7k:~ # ipmctl show -dimm
Command not run
linux-tg7k:~ #
linux-tg7k:~ # rpm -qa|grep ipmctl
ipmctl-devel-02.00.00.3847-1.8.x86_64
ipmctl-02.00.00.3847-1.8.x86_64
linux-tg7k:~ #

Any ideas ??

ndctl still works fine

linux-tg7k:~ # ndctl list
[
  {
    "dev":"namespace1.0",
    "mode":"sector",
    "size":3230948659200,
    "uuid":"2ad15918-2fc8-41c7-88aa-f362d311eaac",
    "sector_size":4096,
    "blockdev":"pmem1s"
  },
  {
    "dev":"namespace0.0",
    "mode":"fsdax",
    "map":"dev",
    "size":3183575302144,
    "uuid":"5f211ddf-527c-4d33-b027-3bffb78068d0",
    "sector_size":512,
    "align":2097152,
    "blockdev":"pmem0"
  }
]

Interesting that my colleague on his box with RHEL 8.4 has exactly the same issue with ipmctl.

Anton

ppbb...@gmail.com

unread,
Jun 14, 2021, 3:53:16 AM6/14/21
to pmem
Hi,

I'm not sure if anyone from the ipmctl team hangs around here, it would probably be best to report any issues directly on their github. There is a similar-looking issue already reported though:

Piotr

Steve Scargall

unread,
Jun 14, 2021, 9:49:54 AM6/14/21
to pmem
Hi Anton,

Can you post the debug logs please - `ipmctl show -v -dimm`.

Thanks.

/Steve

Anton Gavriliuk

unread,
Jun 14, 2021, 2:35:37 PM6/14/21
to Steve Scargall, pmem
Hi Steve

Here is the sheet - 

linux-tg7k:/home/anton # ipmctl show -v -dimm
NVM_DBG_LOGGER NVDIMM-DBG:PbrOs.c::PbrDeserializeCtx:193: PBR MODE from shared memory: 0


NVM_DBG_LOGGER NVDIMM-DBG:PbrOs.c::PbrDeserializeCtx:201: pbr_ctx.tmp not found, setting to default value


NVM_DBG_LOGGER NVDIMM-DBG:Pbr.c::PbrInit:799: PbrInit PBR MODE: 0


NVM_DBG_LOGGER NVDIMM-DBG:Pbr.c::PbrInit:800: PbrInit DONE


NVM_DBG_LOGGER NvmDimmDriverDriverEntryPoint=0x95d07490

NVM_DBG_LOGGER NVDIMM-DBG:NvmDimmDriver.c::NvmDimmDriverDriverEntryPoint:908: Exiting DriverEntryPoint, error = 0x0.


NVM_DBG_LOGGER NvmDimmCliEntryPoint=0x00007f5195c75330

NVM_DBG_LOGGER NVDIMM-WARN:os_efi_api.c::initAcpiTables:223: Failed to get the PMTT table.


NVM_DBG_LOGGER NVDIMM-ERR:AcpiParsing.c::ParsePmttTable:362: Argument pTable is NULL. Exiting

NVM_DBG_LOGGER NVDIMM-ERR:NvmDimmConfig.c::ParseAcpiTables:4399: Failure with ParsePmttTable((VOID *)pPMTT, ppPmttHead). RC: 2

NVM_DBG_LOGGER NVDIMM-WARN:os_efi_api.c::initAcpiTables:254: Failed to parse NFIT or PCAT or PMTT table.

NVM_DBG_LOGGER NVDIMM-WARN:NvmDimmDriver.c::NvmDimmDriverDriverBindingStart:1370: Failed to initialize the ACPI tables, error = 0x2.

NVM_DBG_LOGGER NVDIMM-DBG:NvmDimmDriver.c::NvmDimmDriverDriverBindingStart:1456: Exiting DriverBindingStart, error = 0x2.


NVM_DBG_LOGGER NVDIMM-ERR:NvmDimmCli.c::UefiMain:582: Issue with driver initialization

Command not run
NVM_DBG_LOGGER NVDIMM-DBG:NvmDimmDriver.c::NvmDimmDriverDriverBindingStop:1870: Exiting DriverBindingStop, error = 0x0.


NVM_DBG_LOGGER NVDIMM-DBG:PbrOs.c::SerializePbrMode:266: Writing to shared memory: 0


NVM_DBG_LOGGER NVDIMM-DBG:NvmDimmDriver.c::NvmDimmDriverUnload:435: Exiting DriverUnload, error = 0x0.


linux-tg7k:/home/anton #
linux-tg7k:/home/anton #

Anton


пн, 14 июн. 2021 г. в 16:49, Steve Scargall <steve.s...@intel.com>:
--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pmem/125a103e-d73c-4ca6-a706-6bf923b0246cn%40googlegroups.com.

steve.s...@gmail.com

unread,
Jun 15, 2021, 10:44:16 AM6/15/21
to pmem
Thanks Anton,

It confirms my suspicion. The HPe BIOS doesn't implement the PMTT ACPI Table (Platform Memory Topology Table) which is required for PMem. 

```
NVM_DBG_LOGGER NVDIMM-WARN:os_efi_api.c::initAcpiTables:223: Failed to get the PMTT table.
```

There was an ipmctl issue raised to use the HMAT (Heterogeneous Memory Access Table) instead, but that request was declined as it doesn't provide the necessary topology information - https://github.com/intel/ipmctl/issues/63.

The Intel Optane persistent memory 100 series for HPE User Guide used ipmctl v1.x. The Intel Optane persistent memory 200 series for HPE User Guide doesn't have many references to ipmctl due to the aforementioned issue. It's best to use the iLO, RESTful API, or ndctl.

/Steve

steve.s...@gmail.com

unread,
Jun 15, 2021, 12:17:41 PM6/15/21
to pmem
Anton,

Is this a Cascade Lake or Ice Lake platform?

/Steve

Anton Gavriliuk

unread,
Jun 15, 2021, 1:11:23 PM6/15/21
to steve.s...@gmail.com, pmem
Hi Steve

This is Cascade Lake (8280L)

I'm checking with HPE your investigation.

Anton

вт, 15 июн. 2021 г. в 19:17, steve.s...@gmail.com <steve.s...@gmail.com>:
Anton,

Is this a Cascade Lake or Ice Lake platform?

/Steve

--
You received this message because you are subscribed to the Google Groups "pmem" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pmem+uns...@googlegroups.com.

steve.s...@gmail.com

unread,
Jun 15, 2021, 1:32:32 PM6/15/21
to pmem
Thanks again. 

There's a Workaround section of the ipmctl README that documents this issue. It affects ipmctl v2.x on Cascade Lake systems. I've only seen this on HPe systems. Other OEMs have implemented PMTT in their BIOS. The ipmctl dev team are working on a solution.

--- README ---
Commands Fail on Older Platforms

Some platforms that targeted the Gen 100 modules do not generate a ACPI PMTT table which causes ipmctl (version v02.00.00.xxxx) commands to fail. Particularly

  • create -goal
  • show -topology
  • show -memoryresources
  • show -dimm

If these commands are run with -v option they present a message about failing to get the PMTT table.

A corrected version is being developed and will hopefully be available soon. Until that is available the best option is to use ipmctl v01.00.00.xxxx or go through the BIOS menus.

--- END ---


Reply all
Reply to author
Forward
0 new messages