On Wed, Nov 27, 2013 at 07:15:13PM -0700, Jens Axboe wrote: > On Wed, Nov 27 2013, Stefan Hajnoczi wrote: > > At the end of all this we'd arrive at the following architecture: > > 1. Guest virtio device has multiple queues (1 per node or vcpu). > > 2. QEMU has multiple dataplane/QContext threads that process virtqueue > > kicks, they are bound to host CPUs/nodes. > > 3. Linux kernel has multiqueue block I/O. > > I think that sounds very reasonable. Let me know if there's anything you > need help or advice with. > > > Jens: when experimenting with multiqueue virtio-blk, how far did you > > modify QEMU to eliminate global request processing state from block.c? > > I did very little scaling testing on virtio-blk, it was more a demo case > for conversion than anything else. So probably not of much use to what > you are looking for...
Okay, thanks. It will be a while before the whole stack supports multiqueue but it's good to know this approach sounds reasonable. Stefan