Akan Datang untuk Linux 5.20 cycle ialah pemacu blok ruang pengguna IO_uring yang dibangunkan oleh jurutera Red Hat.
Setakat semalam, penyelenggara blok Linux Jens Axboe telah beratur”ublk_drv”sebagai pemacu blok ruang pengguna berasaskan IO_uring ini. Ini kembali kepada kerja yang ditulis pada awal tahun ini sebagai pemacu blok ruang pengguna yang dimulakan oleh Red Hat. Terdapat juga daemon ruang pengguna bersebelahan sebagai sebahagian daripada usaha ini.
Untuk Linux 5.20 ini pemacu ditandakan sebagai percubaan kerana antara muka ruang pengguna dan definisi data arahan belum dimuktamadkan secara muktamad. komit menerangkan pemacu baharu ini sebagai:
Kedua-dua bahagian berkomunikasi dengan IORING_OP_URING_CMD io_uring dengan satu penimbal cmd dikongsi untuk menyimpan arahan io, dan penimbal dibaca hanya untuk ublksrv, setiap arahan io diindeks oleh teg permintaan io secara langsung dan ditulis oleh pemacu ublk.
Sebagai contoh, apabila satu permintaan READ io diserahkan kepada pemacu blok ublk, pemacu ublk menyimpan arahan io ke dalam penimbal cmd dahulu, kemudian melengkapkan satu IORING_OP_URING_CMD untuk memberitahu ublksrv, dan URING_CMD dikeluarkan kepada pemacu ublk terlebih dahulu oleh ublksrv untuk mendapatkan pemberitahuan sebarang permintaan io baharu dan setiap URING_CMD dikaitkan dengan satu permintaan io mengikut teg.
Selepas ublksrv mendapat arahan io, ia menterjemah dan mengendalikan permintaan ublk io, seperti, untuk sasaran gelung ublk, ublksrv menterjemah permintaan ke permintaan yang sama pada fail atau cakera lain, seperti gelung kernel pemandu blok. Dalam pelaksanaan ublksrv, io masih dikendalikan oleh io_uring, dan berkongsi cincin yang sama dengan arahan IORING_OP_URING_CMD. Apabila permintaan io sasaran selesai, IORING_OP_URING_CMD yang sama dikeluarkan kepada pemacu ublk untuk kedua-dua melakukan keputusan permintaan io dan mendapat pemberitahuan masa depan permintaan io baharu.
Daemon UBDSRV tersedia daripada GitHub.
Axboe tweet bahawa dalam ujiannya terhadap pemandu blok ruang pengguna ini, dia dapat memperoleh 1M IOPS daripada-kotak pada beberapa ujian pantas daripada komputer ribanya.