Tulossa Linux 5.20:lle Cycle on Red Hat-insinöörin kehittämä IO_uring user-space block-ohjain.
Eilestä lähtien Linux-lohkojen ylläpitäjä Jens Axboe on asettanut jonoon”ublk_drv”-ajurin IO_uring-pohjaiseksi käyttäjävälilyöntiohjaimeksi. Tämä juontaa juurensa aiemmin tänä vuonna kirjoitettuun työhön Red Hatin käynnistämänä käyttäjävälilyöntiohjaimena. Osana tätä työtä on myös viereinen käyttäjäavaruuden demoni.
Linux 5.20:lle tämä ohjain on merkitty kokeelliseksi, koska käyttäjätilan käyttöliittymä ja komentotietojen määritys ei ole vielä lopullisesti viimeistelty. sitoumus selittää tämän uuden ohjaimen seuraavasti:
Kaksi osaa kommunikoivat io_uringin IORING_OP_URING_CMD:n avulla yhden jaetun cmd-puskurin kanssa io-komennon tallentamista varten, ja puskuri luetaan vain ublksrv:lle, jokainen io-komento indeksoidaan suoraan io-pyyntötunnisteella ja sen kirjoittaa ublk-ohjain..
Kun esimerkiksi yksi READ io-pyyntö lähetetään ublk-lohkoohjaimelle, ublk-ohjain tallentaa io-komennon ensin cmd-puskuriin, suorittaa sitten yhden IORING_OP_URING_CMD-ilmoituksen ublkrv:lle ja ublksrv antaa URING_CMD:n ublk-ohjaimelle etukäteen saadakseen ilmoitus kaikista uusista io-pyynnöistä, ja jokainen URING_CMD liittyy yhteen io-pyyntöön tunnisteen mukaan.
Kun ublksrv on saanut io-komennon, se kääntää ja käsittelee ublk io-pyynnön, esimerkiksi ublk-silmukan kohteelle, ublksrv kääntää pyynnön samaksi pyynnöksi toisessa tiedostossa tai levyllä, kuten ytimen silmukassa. blokkiohjain. Ublksrv:n toteutuksessa io:ta käsittelee edelleen io_uring, ja se jakaa saman renkaan IORING_OP_URING_CMD-komennon kanssa. Kun kohdeio-pyyntö on tehty, sama IORING_OP_URING_CMD lähetetään ublk-ohjaimelle sekä io-pyynnön tuloksen vahvistamista varten että tulevan ilmoituksen saamista varten uudesta io-pyynnöstä.
UBDSRV-daemon on saatavilla osoitteesta GitHub.
Axboe tviittasi, että testaaessaan tätä käyttäjävälilyöntiohjainta hän onnistui saamaan 1 miljoonan IOPS:n pois.-pakkaus joissain nopeissa testeissä hänen kannettavasta tietokoneestaan.