Scaling Paravirtual I/O for KVM guests

This proposal has been rejected.


One Line Summary

Re-architecting vhost worker threads for performance gains


At the 2012 LPC, Shirley Ma presented an approach to scale paravirtual I/O (vhost) throughput for KVM guests that better utilizes the many CPU cores that contemporary systems offer. Fast forward to today, after many discussions and a couple RFCs, the Linux kernel is still waiting for a stable next-generation implementation. The vhost scalability proposal is a good example of an implementation that involves interaction between several subsystems – First of all, the userspace aspect; since kvm guests are userspace processes that indirectly “create” the vhost worker threads and submit jobs. This also means that vhost threads should be cgroups aware, and lastly, the implementation idea (in its current form) appears to be a subset of workqueues backend in the kernel. So, there’s potential for code reuse and hooking into the cmwq backend with minor modifications. A polling mechanism appears to play nicely for performance gains and whether we should float our own is an important question too. Through this talk, we aim to present our ongoing effort, the current challenges, and get valuable suggestions/feedback from the community.


performance, virtualization, kvm, security, vhost


Leave a private comment to organizers about this proposal