On Tue, Jun 5, 2012 at 12:07 AM, Sasha Levin <levinsasha928@xxxxxxxxx> wrote: > On Mon, 2012-06-04 at 23:40 +0800, Asias He wrote: >> All blk requests are processed in notify_vq() which is in the context of >> ioeventfd thread: ioeventfd__thread(). The processing in notify_vq() may >> take a long time to complete and all devices share the single ioeventfd >> thead, so this might block other device's notify_vq() being called and >> starve other devices. > > We're using native vectored AIO for for processing blk requests, so I'm > not certain if theres any point in giving the blk device it's own thread > for handling that. We discussed this last year. Search the same subject. Pekka suggested improving the thead pool API to support dedicated thead support. I'd prefer to merge this patch for now since that support is till not there. Recently, I added some debug code to see how many loops virtio_blk_do_io() will do until it finishes the processing. I am seeing something like this: Info: virtio_blk_do_io max_nr_loop=8427 The processing takes a very long time. -- Asias He -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html