Kerja pembangunan yang lama IO_uring penghantaran sifar-salinan untuk subsistem rangkaian kernel Linux kini sedia untuk talian utama.

Selama berbulan-bulan Pavel Begunkov telah mengusahakan sokongan penghantaran salinan sifar IO_uring dan kini semuanya telah dibutang dan sedia untuk digabungkan datang Linux 5.20. Penanda aras telah kelihatan hebat dan kod itu kini cukup matang untuk talian utama.

Setakat semalam sokongan”io_uring-zerocopy-send”ialah berbaris ke dalam net-next sebagai kod subsistem rangkaian untuk tetingkap gabungan kernel seterusnya.

Patchset melaksanakan io_uring zerocopy send. Ia berfungsi dengan penimbal berdaftar dan biasa, pencampuran dibenarkan tetapi tidak disyorkan. Selain daripada pelengkapan permintaan biasa, sama seperti MSG_ZEROCOPY, io_uring memberitahu ruang pengguna secara berasingan apabila penimbal dibebaskan dan boleh digunakan semula (lihat reka bentuk API di bawah), yang dihantar ke Gilir Penyiapan io_uring. Pemberitahuan”bebas penimbal”itu tidak semestinya setiap permintaan, tetapi ruang pengguna mempunyai kawalan ke atasnya dan harus secara eksplisit melampirkan beberapa permintaan pada satu pemberitahuan. Siri ini juga menambah beberapa pengoptimuman dalaman apabila digunakan dengan penimbal berdaftar seperti mengalih keluar rujukan halaman.

Dari perspektif rangkaian kernel terdapat dua perubahan utama. Yang pertama adalah menghantar ubuf_info ke dalam lapisan rangkaian daripada io_uring (di dalam msghdr struct kernel). Ini membolehkan pengoptimuman tambahan, mis. ubuf_info caching pada bahagian io_uring, tetapi juga membantu mengelakkan masalah rujukan silang dan penyegerakan. Bahagian kedua ialah pengoptimuman pilihan mengalih keluar rujukan halaman untuk permintaan dengan penimbal berdaftar.

Dibaris gilir melalui for-5.20/io_uring-zerocopy-send ialah perubahan sisi IO_uring yang dibariskan oleh penyelenggara Jens Axboe. Linux 5.20 sedang membentuk kernel yang besar.

Jakub menggabungkan siri prep net untuk sokongan io_uring tx zerocopy:https://t.co/l6Axk5WUr9

dan saya menyusun bit yang tinggal di atasnya:https://t.co/35veXfsMVM

5.20 sedang dibentuk dengan baik!

— Jens Axboe (@axboe) 20 Julai , 2022

Categories: IT Info