Loading...
Loading...
For any HPE Synergy 480 Gen11 compute modules, any Converged Network Adapters connected to mezzanine slots 1 or 3 may experience low throughput.This issue occurs on mezzanine slots 1 and 3 which are associated with CPU socket 1, due to imbalanced I/O loads between the two CPU sockets. This issue does not occur with mezzanine slot 2 which is associated with CPU socket 2.
In the scenario described above, any HPE Synergy 480 Gen11 compute modules configured with Converged Network Adapters.
To avoid this issue or if this issue has already occurred, perform the following steps:During compute module startup sequence, press F9 to access System Utilities.From the System Utilities menu, select "System Configuration" and then "BIOS/Platform Configuration (RBSU)".Select "Workload Profile".Change the workload profile to "Virtualization Max Performance".Press F12 to save the changes and exit System Utilities.Reboot the compute module and boot into the Operating System (OS).Adjust NUMA node mapping to the values shown below. The steps are OS-dependent.DeviceNUMA NodeMezzanine1 Port13Mezzanine1 Port23Mezzanine2 Port17Mezzanine2 Port26Mezzanine3 Port12Mezzanine3 Port22For LinuxRun the command "numactl --interleave=all <customer application>". Additional information can be found at the link shown below.numactl(8) - Linux man pageDisclaimer:One or more of the above links redirects outside the HPE website. HPE is not responsible for content outside of its domain.For VMware vSphereRun the command shown below.esxcli system settings kernel set --setting=maxPCPUsNUMAInterleaving --value=trueThis command enables the NUMA node setting, which controls whether the NUMA node interleaving is allowed. When set to true, NUMA node interleaving is enabled, which can help improve memory allocation and performance for certain workloads.Conversely, use the command shown below to disable this setting.esxcli system settings kernel set --setting=maxPCPUsNUMAInterleaving --value=falseAfter running the command, rebooting the host is typically required to apply changes.To determine the current status of the NUMA node setting, run the command below.esxcli system settings kernel list -o maxPCPUsNUMAInterleavingFor Microsoft WindowsThe customer will be required to call a Windows API to change the NUMA configuration. An API example showing how to migrate to a multi-group node affinity and hence change the NUMA configuration, is provided below.Prior to using the API, perform the following steps to enable the required registry key:1. Add the registry key using the powershell command shown below.reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NUMA" /v SplitLargeNodes /t REG_DWORD /d 12. Reboot the compute module. The changes will persist after the reboot.IMPORTANT:Improper editing of the Windows registry may result in unexpected errors. Backup up the Windows registry before implementing any changes.Example APIThe example shown below requires the wdm.h header, which is included in the Windows driver kit.//// Resolution using KeQueryNodeActiveAffinity2.//USHORT CurrentIndex;USHORT CurrentNode;USHORT CurrentNodeAffinityCount;USHORT HighestNodeNumber;ULONG MaximumGroupCount;PGROUP_AFFINITY NodeAffinityMasks;ULONG ProcessorIndex;PROCESSOR_NUMBER ProcessorNumber;NTSTATUS Status;MaximumGroupCount = KeQueryMaximumGroupCount();NodeAffinityMasks = ExAllocatePool2(POOL_FLAG_PAGED,sizeof(GROUP_AFFINITY) * MaximumGroupCount,'tseT');if (NodeAffinityMasks == NULL) {return STATUS_NO_MEMORY;}HighestNodeNumber = KeQueryHighestNodeNumber();for (CurrentNode = 0; CurrentNode <= HighestNodeNumber; CurrentNode += 1) {Status = KeQueryNodeActiveAffinity2(CurrentNode,NodeAffinityMasks,MaximumGroupCount,&CurrentNodeAffinityCount);NT_ASSERT(NT_SUCCESS(Status));for (CurrentIndex = 0; CurrentIndex < CurrentNodeAffinityCount; CurrentIndex += 1) {CurrentAffinity = &NodeAffinityMasks[CurrentIndex];while (CurrentAffinity->Mask != 0) {ProcessorNumber.Group = CurrentAffinity.Group;BitScanForward(&ProcessorNumber.Number, CurrentAffinity->Mask);ProcessorIndex = KeGetProcessorIndexFromNumber(&ProcessorNumber);ProcessorNodeContexts[ProcessorIndex] = NodeContexts[CurrentNode];CurrentAffinity->Mask &= ~((KAFFINITY)1 << ProcessorNumber.Number);}}}Revision HistoryDocument VersionRelease DateDetails3March 07, 2025The Resolution section has been updated with the correct syntax command to enable the NUMA node setting for systems running VMware vSphere.2January 21, 2025The Resolution section has been updated with additional information for systems running VMware vSphere.1April 03, 2023Original Document Release.
Operating Systems Affected:Not Applicable
Click on a version to see all relevant bugs
Hewlett Packard Enterprise Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.