Re: [Qemu-devel] Re: [PATCH 2/3] virtio-pci: Use ioeventfd for virtqueue notify

Avi Kivity
2010-12-06T15:10:19Z

On 12/01/2010 11:34 PM, Stefan Hajnoczi wrote:
> >> The guest CPU utilization numbers include an efficiency metric: %vcpu
> >> per MB/sec. Here we see significant improvements too. Guests that
> >> previously couldn't get more CPU work done now have regained some
> >> breathing space.
> >
> > Thanks for those numbers. The guest improvements were expected, but the
> > host numbers surprised me. Do you have an explanation as to why total host
> > load should decrease?
>
> The first vcpu does virtqueue kick - it holds the guest driver
> vblk->lock across kick. Before this kick completes a second vcpu
> tries to acquire vblk->lock, finds it is contended, and spins. So
> we're burning CPU due to the long vblk->lock hold times.
>
> With virtio-ioeventfd those kick times are reduced an there is less
> contention on vblk->lock.

Makes sense.

--
error compiling committee.c: too many arguments to function