Hi Jason,
Thanks for your reply! I am more concerned with polling mode about
virtio-blk right now. Later I will focus on polling mode on virtio-net.
I don't know whether the polling mode is already existed for virtio-blk or
we should implement it by ourselves if we need this feature.
Thanks for your time!

Best Wishes,
Yaohui Hu


On Sun, Sep 29, 2013 at 5:29 AM, Jason Wang <jasow...@redhat.com> wrote:

> On 09/28/2013 02:56 AM, Hu Yaohui wrote:
> > Hi All,
> > I am wondering whether virtio has provided polling mode already.
> > Instead of sending a event from guest to host through eventfd on guest
> > side and inject an interrupt into guest on host side to notify each
> > other? Could both sides keep polling the Vring to communicate with
> > each other?
> > Thanks for your time!
> >
>
> For virtio-net, both qemu and driver (at least Linux) mix using polling
> and notification. Usually one side will disable the notification from
> another side when it gets an interrupt, and then enter the polling mode
> until no more buffers submitted from another side. After this it will
> enable the interrupts again.
>
> One of the method to improve this a little bit is to do the busy polling
> even if there's no new buffers in case the other side will submit one or
> more shortly. Linux has implemented this as low latency polling for
> network stack (see http://lwn.net/Articles/551284/). It will do busy
> polling for a time which can be configured by user. I've played a little
> bit of this for both virtio-net and vhost, it can improves the latency
> (more obvious for single session test) at the cost of extra cpu
> overhead. The key to balance them is to choose time spent on busy
> polling correctly. I don't think about it further but maybe we can make
> it adaptive.
> > Best Wishes,
> > Yaohui
>
>
>

Reply via email to