
A Linux 6.18 kernel egyik kiemelkedő újdonsága a CXL (Compute Express Link) alrendszer frissítése, amelybe bekerült a Poison Injection támogatás. Ez a funkció lehetővé teszi a CXL memóriakészülékek hibakezelésének és megbízhatóságának tesztelését. A felhasználói térből a DebugFS interfészen keresztül fizikai címet (vagy címeket) lehet „poison”-ozni, hogy ellenőrizni lehessen a hardver reakcióját és a szoftver által kezelt hibákat. Ez elsősorban arra szolgál, hogy a CXL szoftveres és hardveres kezelése különböző viselkedéseket produkál-e hibás memória esetén.
A Linux 6.18 CXL-frissítései ezen felül tartalmazzák:
- A CXL hozzáférési koordináták javítását, amikor CXL memóriát online állapotba hoznak.
- Késleltetett downstream port-felismerés és inicializáció a CXL eszközökön.
- Számos egyéb kisebb fejlesztést és hibajavítást a CXL alrendszerben.
A Linux 6.18, amely várhatóan a 2025-ös LTS kiadás lesz, részletes CXL-változásairól további információk a beolvasztott fejlesztésekről.
A CXL alrendszer jelentősége
A CXL (Compute Express Link) egy új, nagysebességű, alacsony késleltetésű interconnect szabvány CPU-k és különböző eszközök, például gyorsítók, memóriaexpanziók és egyéb perifériák között. A CXL célja, hogy a modern adatközpontok és nagy teljesítményű rendszerek memóriahozzáférését hatékonyabbá és rugalmasabbá tegye, különösen memóriaintenzív alkalmazásoknál.
A Linux kernel CXL alrendszere kezeli a CXL memóriát és eszközöket, biztosítva a hot-plug, memóriaallokáció, hibakezelés és hardver-szoftver szinkronizáció funkciókat.
Poison Injection: a fő újdonság
A Linux 6.18 egyik fő újdonsága a Poison Injection támogatás, amely lehetővé teszi a CXL memóriák hibáinak szimulálását:
-
Cél: Tesztelni a hardver és a szoftver reakcióját hibás memóriablokkokra.
-
Működés: Felhasználói térből (user-space) a DebugFS interfészen keresztül fizikai memória címeket lehet „poison”-ozni.
-
Hibaellenőrzés: A kernel figyeli a hardver reakcióját, valamint a szoftver által kezelt hibákat, lehetővé téve a fejlesztők számára, hogy ellenőrizzék a CXL rendszerek megbízhatóságát.
Használat DebugFS-en keresztül
A Poison Injection a /sys/kernel/debug/cxl/memX/ könyvtárban érhető el, ahol X az adott CXL memória eszköz sorszáma. Két fő attribútum van:
-
inject_poison – Írási módban lehetővé teszi egy fizikai cím (DPA – Device Physical Address) „poison”-ozását.
-
clear_poison – A „poison” eltávolítására szolgáló attribútum.
Példa parancsok:
# Fizikai cím poison-ozása echo <DPA> > /sys/kernel/debug/cxl/mem0/inject_poison # Poison eltávolítása echo <DPA> > /sys/kernel/debug/cxl/mem0/clear_poison
A <DPA> helyére a tesztelendő fizikai memória címet kell írni.
Egyéb fontos CXL-frissítések Linux 6.18-ban
-
CXL hozzáférési koordináták javítása
Amikor egy CXL memóriát online állapotba hoznak, a kernel pontosan kezeli az elérési koordinátákat, így csökken a memóriahozzáférési hibák esélye. -
Késleltetett downstream port enumeráció és inicializáció
Bizonyos CXL-eszközök inicializációja késleltetve történik, hogy a rendszer stabilabban kezelje a hot-plug memóriákat és eszközöket. -
További hibajavítások és optimalizációk
-
Jobb integráció a meglévő memóriamenedzsmenttel.
-
Stabilabb hot-plug és hot-unplug műveletek.
-
Hibás memóriacímek és koordináták kezelésének finomhangolása.
-
Miért fontos ez?
- Fejlesztőknek és tesztelőknek lehetővé teszi, hogy ellenőrizzék a rendszer megbízhatóságát hibás memóriahelyzetekben.
- Adatközpontokban és HPC (High-Performance Computing) környezetekben csökkenti a váratlan leállások kockázatát.
- A kernel LTS verziója (várhatóan 2025-ben) biztosítja, hogy ezek a fejlesztések hosszú távon is támogatottak legyenek.
