Hi, recenly got this board, but cannot figure out how to go below pkg C2 (pc2).
My setup:
- CPU: i9-14900K
- RAM: two 48 GB ECC UDIMM sticks from Kingston
- Motherboard: ASRock Rack W680D4ID-2T/G5/X550 (latest BIOS 2.09)
- Storage:
- 2 x M.2 (Kingston DC2000B 960GB)
- 4 x SATA (Samsung SM863 1.96TB).
- PSU: HDPlex 250W
I also have Intel A380 GPU, but for now to simplify debug pulled it out.
What I tried:
- Enabled ASPM for basically everything, including “secret” Ctrl+Alt+F3 BIOS menus (
Chipset -> SA
,Chipset -> PCH
and others). - Enabled everything related to C-states (excluding some hidden options which I am scared to enable).
- Enabled Modern Standby (S0ix).
- Tried to enable D3Cold (D3 states start to work, but it breaks one NVMe which is connected to CPU directly).
- Installed power limits 1/2 at 125W.
- Installed 6.11 kernel.
- Use the latest
powertop
2.15.
CPU sits at C7 (cc7), but package doesn’t go below C2 (pc2).
This is my PCI tree:
# lspci -tv
-[0000:00]-+-00.0 Intel Corporation Device a700
+-02.0 Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770]
+-06.0-[01]----00.0 Kingston Technology Company, Inc. DC2000B NVMe SSD E18DC
+-14.0 Intel Corporation Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller
+-14.2 Intel Corporation Alder Lake-S PCH Shared SRAM
+-15.0 Intel Corporation Alder Lake-S PCH Serial IO I2C Controller #0
+-16.0 Intel Corporation Alder Lake-S PCH HECI Controller #1
+-17.0 Intel Corporation Alder Lake-S PCH SATA Controller [AHCI Mode]
+-1a.0-[02]----00.0 Kingston Technology Company, Inc. DC2000B NVMe SSD E18DC
+-1b.0-[03]--
+-1b.4-[04]--
+-1c.0-[05]--+-00.0 Intel Corporation Ethernet Controller X550
| \-00.1 Intel Corporation Ethernet Controller X550
+-1c.4-[06]--
+-1c.7-[07-08]----00.0-[08]----00.0 ASPEED Technology, Inc. ASPEED Graphics Family
+-1d.0-[09]--
+-1f.0 Intel Corporation Device 7a88
+-1f.3 Intel Corporation Alder Lake-S HD Audio Controller
+-1f.4 Intel Corporation Alder Lake-S PCH SMBus Controller
\-1f.5 Intel Corporation Alder Lake-S PCH SPI Controller
ASPM states:
# lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
00:06.0 PCI bridge: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port (rev 01) (prog-if 00 [Normal decode])
LnkCap: Port #5, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1a.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #25 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #25, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1b.0 PCI bridge: Intel Corporation Device 7ac0 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #17, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk-
00:1b.4 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #21, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk-
00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #1, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.4 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #5 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #5, Speed 8GT/s, Width x1, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk-
00:1c.7 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #8 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #8, Speed 8GT/s, Width x1, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
00:1d.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #9 (rev 11) (prog-if 00 [Normal decode])
LnkCap: Port #9, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk-
01:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. DC2000B NVMe SSD E18DC (rev 01) (prog-if 02 [NVM Express])
LnkCap: Port #0, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
02:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. DC2000B NVMe SSD E18DC (rev 01) (prog-if 02 [NVM Express])
LnkCap: Port #0, Speed 16GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller X550 (rev 01)
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
05:00.1 Ethernet controller: Intel Corporation Ethernet Controller X550 (rev 01)
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
07:00.0 PCI bridge: ASRock Incorporation Device 1150 (rev 06) (prog-if 00 [Normal decode])
LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <32us
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
From what I understand, BMC is connected to PCH-S using PCIe x1 gen 3 link (port #8). For some reason it cannot use ASPM (BIOS bug? BIOS missconfig?) and it prevents system from going to deeper C-states. Or I just don’t understand how it works?
I would probably just tried to disable port #8 to test, but I am not sure it won’t kill the board (since BMC will no longer able to connect to motherboard).
EDIT 20.12.2024: After almost a month of research and trying I can conclude that modern server platform with at least AST2600 BMC and AST1150 PCIe-to-PCIe bridge HAS NOT any hardware limitations on supporting package C10 state.
In my case I achieved it with single NVMe (Kingston DC2000B), 96 GB ECC UDIMM RAM, 14900K and HDPlex 250W PSU and got drastic thermal improvement.
- Intel X550 became barely hot (it’s now 45 Celsius instead of really hot 60)
- HDPlex is barely warm (it was pretty hot previously)
- 14900K is chilling at 28 Celsius, which is crazy
The only thing that stayed the same are SATA disks, but it’s just because my enterprise disks are not supporting DevSlp.
Unfortunately with second NVMe (which is connected directly to the CPU) it is limited by pkg C6 state for some reason. I can also connect Intel A380 and retain C6 state.