Re: [PATCH] kvm tools: Process virito blk requests in separate thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux