A Linux 6.19 kernelbe a Microsoft új RAMDAX illesztőprogramja érkezik

Egy új, a fővonalbeli Linux kernelbe szánt illesztőprogram fejlesztéséről számoltak be, amely a tervek szerint a közelgő Linux 6.19-es kernel verzió összeolvasztási időablaka során kerül be. A fejlesztés a Microsoft mérnöke, Mike Rapoport nevéhez fűződik, aki a RAMDAX nevű meghajtón dolgozik. Ennek célja, hogy lehetővé tegye tartós memóriafelületek létrehozását a rendszermemória kijelölt szakaszain, azaz úgynevezett „RAM carveout”-okon. Ezeket a tartós memóriaterületeket a rendszer NVDIMM eszközökként teszi elérhetővé.

A Linux 6.19 kernelbe a Microsoft új RAMDAX illesztőprogramja érkezik

A RAMDAX működése és célja

A meghajtó leírása a Kconfig dokumentáció szerint a következőképpen foglalható össze: a RAMDAX lehetővé teszi DAX eszközök létrehozását manuálisan megadott memóriatartományokon. Ezek a tartományok vagy a memmap=nn[KMG]!ss[KMG] kernelparaméterrel definiálhatók, vagy a „dummy pmem-region” típusú eszközfa-csomópontokon keresztül. A RAMDAX ezeket a területeket DIMM eszközként kezeli, támogatva a névterek (namespace-ek) dinamikus elrendezését. A meghajtó a memmap tartomány végéből 128 kilobájtot lefoglal a névtér-kezeléshez, ami akár 509 névtér kezelését is lehetővé teszi, amint az az ndctl create-namespace –help parancsból is kiderül. A működéshez a meghajtót kézzel kell hozzárendelni az e820_pmem vagy a pmem-region platformeszközökhöz a driver_override attribútum használatával.

A fejlesztés felhasználási módja

Mike Rapoport szerint a RAMDAX olyan helyzetekre kínál megoldást, amikor virtuális gépekhez vagy más rendszerekhez „tartós” memóriaterületeket kell létrehozni. Az eddigi módszerek, mint a memmap opció vagy a dummy pmem-regiók, statikus megoldások voltak, amelyeknél a memóriaterület kiosztása csak újraindítás után volt módosítható, bizonyos esetekben pedig firmware-frissítést is igényelt. Az új RAMDAX meghajtó ezzel szemben lehetővé teszi, hogy ezek a tartós memóriaterületek dinamikusan, rugalmasan kezelhetők legyenek. A meghajtó képes DIMM eszközök létrehozására az E820_TYPE_PRAM régiókon és az eszközfa pmem-region csomópontjain, miközben címketerület-kezelést biztosít és támogatja a fsdax és devdax hozzáférési módokat is.

A Microsoft RAMDAX meghajtója már bekerült az nvdimm.git tároló libnvdimm-for-next ágába, ami azt jelenti, hogy várhatóan a Linux 6.19 kernel összeolvasztási időszakában, azaz 2025 decemberének elején kerül majd be a hivatalos fővonalba.

Gábor a Pingvinbázis alapítója és főszerkesztője, több mint 20 éves tapasztalattal rendelkezik a Linux rendszerek és az Open Source szoftverek területén. Jártas a Python, és a PHP nyelvben, valamint a BASH scriptelésben is.