Meglepően látványos eredményt hozott egy apró Linux kernel módosítás a modern Intel Xeon szerverprocesszorokon. Egy frissen beküldött javítás szerint mindössze egy sor kód átírása – a többi változtatás gyakorlatilag csak megjegyzés – akár ötszörösére csökkentheti az ébredési késleltetést (wakeup latency) bizonyos konfigurációkban. A probléma különösen a Sapphire Rapids és az annál újabb Xeon generációkat érinti, és kifejezetten a késleltetésérzékeny feladatokat futtató rendszereknél jelent gondot.
A javításon Ionuț Nechita, a Wind River felhőmérnöke dolgozik, aki már a Sapphire Rapids megjelenése óta vizsgálja a Linuxon tapasztalható szokatlanul magas ébredési késleltetéseket. A menu governor (menu governor) és a NOHZ_FULL kernelkonfiguráció együttes használata esetén az érintett Xeon szervereken akár 150 mikroszekundumos késleltetés is mérhető, ami jelentősen rosszabb érték, mint az előző generációs Ice Lake vagy Skylake Xeon processzoroknál tapasztalt 12–21 mikroszekundum.
A probléma gyökere a menu governor működésében keresendő. A kód bizonyos helyzetekben túl mély processzorcsomag-energiatakarékos állapotokat választ, például a PC6 csomag C-állapotot (package C-state), amelyekből a visszatérés a modern szerverplatformokon már komoly költséggel jár. Ennek oka többek között a DDR5 memóriák energiamenedzsmentje, a csempénkénti (tile-level) áramtalanítás, a CXL kapcsolatok helyreállítása és más, az új Xeon architektúrákra jellemző összetettség.
A javasolt megoldás meglepően egyszerű. A menu governor előrejelzésébe egy 25 százalékos biztonsági ráhagyás (safety margin) kerülne, amely megakadályozza, hogy a rendszer indokolatlanul mély alvó állapotot válasszon rövid üresjáratok esetén. A módosítás továbbra is figyelembe veszi a következő időzítő eseményt, így nem rontja érdemben az energiahatékonyságot, viszont jelentősen csökkenti az ébredési időt.
A beküldött javításhoz csatolt mérési eredmények igen beszédesek. Sapphire Rapids alapú rendszeren a qperf hálózati késleltetésmérő eszközzel végzett tesztek során az átlagos ébredési késleltetés 151 mikroszekundumról nagyjából 30 mikroszekundumra csökkent, ami közel ötszörös javulásnak felel meg. Ezzel szemben az Ice Lake és Skylake Xeon processzorokon gyakorlatilag semmilyen visszaesés nem volt tapasztalható, ami arra utal, hogy a változtatás nem rontja a gyors C-állapotváltással rendelkező platformok viselkedését. Az energiafogyasztás mérése szerint a csomagszintű teljesítményfelvételben egy százaléknál kisebb eltérés jelentkezett, ami a mérési zaj határán belül van.
Bár a beküldött javítás mindössze 16 sornyi diffből áll, ténylegesen csak egyetlen sor kódot módosít, a többi magyarázó komment. Ennek ellenére a hatása különösen nagy lehet a legújabb Xeon generációkon, köztük a Granite Rapids alapú rendszereken is, még ha ezekre konkrét benchmarkok egyelőre nem is állnak rendelkezésre. A patch jelenleg a Linux kernel levelezőlistáján van felülvizsgálat alatt, és jó eséllyel élénk vitát vált majd ki a kernel fejlesztői között.
Ha a módosítást elfogadják, az ismét jó példája lehet annak, hogy a Linux kernel finomhangolása néha egészen apró beavatkozásokkal is látványos, gyakorlati előnyöket hozhat a modern szerverhardvereken futó, alacsony késleltetést igénylő munkaterhelések számára.

