On Thu, Feb 28, 2013 at 08:20:08PM +0200, Abel Gordon wrote: > Stefan Hajnoczi <stefa...@gmail.com> wrote on 28/02/2013 04:43:04 PM: > > I think extending and tuning the existing mechanisms is the way to go. > > I don't see obvious advantages other than reducing context switches. > > Maybe it is worth checking... > We did experiments using vhost-net and vhost-blk. We measured and compared > the traditional model (kernel thread per VM/virtual device) to the > shared-thread model with fine-grained I/O scheduling (single kernel thread > used to serve multiple VMs). We noticed improvements up-to 2.5x > in throughput and almost half the latency when running up-to 14 VMs.
Can you post patches? Also, I wonder if you have time to do a presentation/discussion session so we can get the ball rolling and more people exposed to your approach. There is a weekly QEMU Community Call which we can use as the forum. The reason I have been skeptical is that prototyping radical changes often involves rewriting or bypassing code. These "accidental" changes can impact performance too. We need to understand where to attribute the performance improvements. Stefan