IOmap-fejlesztés a Linux 7.3-ban: még gyorsabb EXT4 és XFS teljesítmény

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A Linux 7.3-ban az IOmap átállása az iterátor modellre befejeződött: mostantól egyetlen iomap_next() callbacket használ. A változtatás lényege, hogy minden iteráció helyett, ahol eddig közvetett hívás történt, a fordító közvetlen hívássá tudja alakítani, amit így inline-olni is lehet. Ez az IOmap beolvasztási kérelem megszüntet egy szűk keresztmetszetet a kis méretű I/O műveleteknél PCIe Gen5 NVMe SSD-k esetén.

Végfelhasználói szempontból az eredmény az igazán érdekes. A beolvasztási kérelemben így foglalták össze az EXT4 teljesítményre gyakorolt hatást:

"Ez a változtatás egy egyszerű direct I/O útvonalat is hozzáad a kis olvasásokhoz. Gen5 NVMe-n a __iomap_dio_rw() dominál a 4K véletlenszerű olvasásoknál. Ugyanaz az egy magot használó io_uring poll módú terhelés ~3,2M IOPS-et ér el a nyers blokk eszközön, de csak ~1,92M-et ext4-en vagy XFS-en keresztül.

...

Ez az eredeti terhelésnél az ext4-et 1,92M-ről 2,19M IOPS-re emeli. A fio mérései nagyjából a következőt mutatják:

4% javulás libaio-val 64-es és nagyobb queue depth mellett

körülbelül 5% io_uring esetén

* akár 10% io_uring poll módban 256-os mélységnél

mind ext4-en, mind xfs-en."

Konkrét számokat csak az EXT4 és az XFS esetén közöltek, de az IOmap frissítés Btrfs, EXT2, EROFS, F2FS, GFS2, HPFS, FUSE, exFAT, ZoneFS, NTFS és NTFS3 fájlrendszerekhez is megérkezett. Akik mélyebben is kíváncsiak a munkára, a részleteket ebben a beolvasztási kérelemben találják, amelyet tegnap olvasztottak be a Linux 7.3 ciklus korai pulljai között.