intel / ipmctl

BSD 3-Clause "New" or "Revised" License
183 stars 62 forks source link

Interleave status in MemoryMode=100 #167

Open DominikO-Fujitsu opened 3 years ago

DominikO-Fujitsu commented 3 years ago

Hello,

I use ipmctl api to extract status of the interleave via InterleaveWays parameter. I noticed on SLES 15 SP2 the InterleaveWays parameter in MemoryMode=100 is returned as "0x2" which implies 2-way interleave. This system however has two dimms assigned to two different CPU sockets which in my understanding makes interleave impossible. Same code on the Windows Server 2019 returns "0x0" - no reported interleave.

---TableType=0x1
Length: 48 bytes
TypeEquals: NvDimmRegion
NfitDeviceHandle: 0x0001
NfitDeviceHandle.DimmNumber: 0x1
NfitDeviceHandle.MemChannel: 0x0
NfitDeviceHandle.MemControllerId: 0x0
NfitDeviceHandle.SocketId: 0x0
NfitDeviceHandle.NodeControllerId: 0x0
NvDimmPhysicalId: 0x2f
NvDimmRegionalId: 0x1
SpaRangeDescriptionTableIndex: 0x2
NvdimmControlRegionDescriptorTableIndex: 0x1
NvDimmRegionSize: 0x7f00000
RegionOffset: 0x0
NvDimmPhysicalAddressRegionBase: 0x0
InterleaveStructureIndex: 0x1
InterleaveWays: 0x2
NvDimmStateFlags: 0x0020
-Notify OSPM of Smart & Health events 0x0020
 
---TableType=0x1
Length: 48 bytes
TypeEquals: NvDimmRegion
NfitDeviceHandle: 0x1001
NfitDeviceHandle.DimmNumber: 0x1
NfitDeviceHandle.MemChannel: 0x0
NfitDeviceHandle.MemControllerId: 0x0
NfitDeviceHandle.SocketId: 0x1
NfitDeviceHandle.NodeControllerId: 0x0
NvDimmPhysicalId: 0x3b
NvDimmRegionalId: 0x2
SpaRangeDescriptionTableIndex: 0x2
NvdimmControlRegionDescriptorTableIndex: 0x2
NvDimmRegionSize: 0x7f00000
RegionOffset: 0x1000
NvDimmPhysicalAddressRegionBase: 0x0
InterleaveStructureIndex: 0x2
InterleaveWays: 0x2
NvDimmStateFlags: 0x0020
-Notify OSPM of Smart & Health events 

I'd like to ask, if this behavior is a bug, or is my understanding of the matter incorrect?

Best regards, Dominik

StevenPontsler commented 3 years ago

Hello Dominik,

I think that field should match regardless of OS.

Is this the same system just rebooted into a different operating system?

What version of ipmctl is this? (the command ipmctl version will print it out)

We will look into it.

Steven

StevenPontsler commented 3 years ago

Could you share the entire dump of the nfit table for both OSes? And the results of ipmctl show -system and ipmctl show -pcd on both OSes?

I want to verify the configuration. The system has 2 CPUs each with 1 PMem module (dimm) associated with it

something like

+--CPU1
|   |
|   +PMem1
|
+--CPU2
    |
    +PMem2

If you do not want to post all that here, my email address can be found in my profile.