A Linux 7.2 kernelben alapértelmezetté válik a Btrfs large folióinak támogatása

A Linux 7.2 kernel Btrfs fejlesztési csomagja több teljesítményspecifikus- és infrastruktúrafejlesztést hoz a copy-on-write működésű fájlrendszer számára. A csomag egyik fontos újdonsága, hogy a Btrfs large folio támogatása kikerül a kísérleti állapotból, így alapértelmezés szerint bekapcsolt funkcióként működik majd. A folio a Linux memória-kezelésében használt egység, amely több memórialapot is összefoghat, ezért nagyobb I/O-műveleteknél csökkentheti az adminisztrációs terhelést és javíthatja a fájlrendszer teljesítményét.

A Linux 7.2 kernelben alapértelmezetté válik a Btrfs large folióinak támogatása

A Btrfs large folio támogatása a Linux 6.17 kernelben jelent meg kísérleti funkcióként, és valós munkaterheléseknél egyszámjegyű százalékos teljesítménynövekedést mutatott. A Linux 7.2 kernelben ez a funkció alapértelmezés szerint bekapcsolva működik, ezért külön kísérleti opció nélkül használható a Btrfs fájlrendszereken. A kiadás a huge folio támogatást is bevezeti, amely legfeljebb 2 MB-os foliókkal dolgozhat, de ez továbbra is kísérleti státuszban van.

A felhasználói tér felé új ioctl hívás jelenik meg, amely nyers ellenőrzőösszegeket tud visszaadni. Ez olyan eszközök számára hasznos, mint a mkfs, illetve azoknál a deduplikációs eljárásoknál, amelyeknek közvetlenebb hozzáférésre van szükségük a Btrfs által kezelt ellenőrzőösszeg-adatokhoz. A fájlrendszer stabil UUID-t is biztosít olyan felhasználási esetekhez, mint az OverlayFS, ahol az indexelt működéshez megbízhatóan azonosítható alsó fájlrendszerre van szükség.

A teljesítmény területén a Btrfs bizonyos esetekben korlátozza a bio méretét, hogy mérsékelje a késleltetési kiugrásokat. A mérések szerint ez szekvenciális írásnál akár 15 százalékos teljesítmény javulást is eredményezhet. A közvetlen I/O kezelésénél megszűnik egy korábbi sorosítási kényszer, amely a mount API-ra való átállás mellékhatásaként jelent meg. Ennek eltávolítása egyes terheléseknél akár 60 százalékkal nagyobb áteresztőképességet eredményezhet.

A Linux 7.2 Btrfs-kódja a memcg által allokált objektumok kezelésén is módosít, ami több memória-cgrouphoz kötött terhelésnél javíthatja a teljesítményt. A fájlrendszer emellett elhagyja a 2 KB-os blokkméret támogatását, továbbfejleszti a tree-checker ellenőrzéseit, és több kisebb javítást tartalmaz. További részletek a kapcsolódó pull requestben olvashatók.