Digabung minggu lalu untuk kernel Linux 6.4 adalah semua perubahan VirtIO dan Virtual Data Path Acceleration (VDPA). Yang menarik dari pull request itu adalah memberikan peningkatan kinerja yang besar untuk VDUSE.
Bagi yang tidak ingat, VDUSE digabungkan ke kernel pada tahun 2021 dengan Linux 5.15. VDUSE mengimplementasi perangkat VDPA di ruang pengguna. Kerangka kerja vDPA adalah kode Akselerasi Jalur Data VirtIO di dalam kernel untuk perangkat yang mematuhi spesifikasi VirtIO tetapi mengandalkan jalur kontrol khusus vendor. Kerangka kerja vDPA semakin banyak digunakan untuk mengabstraksi perangkat keras dan menyembunyikan beberapa elemen kompleksitas perangkat keras ke perangkat lunak sambil memiliki API ruang pengguna terpadu sebagai perangkat VirtIO. VDUSE memungkinkan penerapan perangkat yang ditiru perangkat lunak vDPA di ruang pengguna.
Insinyur Bytedance dalam beberapa bulan terakhir telah bekerja untuk meningkatkan kinerja VDUSE. Dengan satu set tambalan untuk mengurangi pertentangan kunci virtqueue dalam driver virtio-blk, Bytedance melihat peningkatan kinerja sekitar 50%: dari IOPS 600k menjadi 900k dalam pengujian mereka. Tambalan dari Bytedance juga menambahkan antarmuka sysfs untuk memungkinkan perubahan afinitas callback IRQ untuk setiap virtqueue VDUSE untuk membantu penyetelan kinerja dan juga antarmuka sysfs untuk menyetel ukuran buffer bouncing untuk virtio-vdpa untuk penyetelan dengan beban kerja throughput tinggi. Peningkatan 50% saja sudah bagus sementara kenop baru untuk penyetelan kinerja lebih lanjut ini sangat cocok.
Perubahan VirtIO/VDPA untuk Linux 6.4 juga menurunkan tingkat interupsi untuk VirtIO, peningkatan skalabilitas untuk vhost-scsi, dan peningkatan lainnya. Detail selengkapnya tentang perubahan ini melalui tarikan ini.
Mereka yang ingin mempelajari lebih lanjut tentang VDUSE secara umum dapat melakukannya melalui dokumentasi kernel.org.