[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2] s390/virtio-ccw: Adapter interrupt suppo
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2] s390/virtio-ccw: Adapter interrupt support. |
Date: |
Tue, 9 Jul 2013 15:52:49 +0200 |
On Tue, 09 Jul 2013 15:27:14 +0200
Christian Borntraeger <address@hidden> wrote:
> On 09/07/13 13:34, Cornelia Huck wrote:
> > Handle the new CCW_CMD_SET_IND_ADAPTER command enabling adapter interrupts
> > on guest request. When active, host->guest notifications will be handled
> > via global_indicator -> queue indicators instead of queue indicators +
> > subchannel I/O interrupt. Indicators for virtqueues may be present at an
> > offset.
> >
>
> You might want to add why we want adapter interrupts:
> - no test subchannel -> less qemu mutex contention
> - no test subchannel -> we can implement something like irqfd without moving
> most of ccw device mgmt into the kernel
> - interrupt coalescing
> - the guest common I/O layer already supports adapter interrupts
> for all newer hardware
How about the following:
With traditional I/O interrupts, status needs to be collected from the
subchannel via TEST SUBCHANNEL as well. With adapter interrupts, we
- avoid the extra exit due to TEST SUBCHANNEL
- can deliver multiple queue interrupts via the same I/O interrupt
- make it possible to implement irqfds without having to track
subchannel status inside kvm
>
>
> the interesting part of this patch is the guest<->host interface. As far as I
> can see, we are able to register
> - an isc per device
> - an arbitrary summary indicator byte per device
> - an arbitrary bit position in guest memory where the queue indicator bits of
> this
> device start
>
> This allows for packing the indicators for all virtqueues of all devices or
> spreading them in memory. The layout and amount of coalescing of bits is then
> an optimization that can be changed all the time without the need to change
> the interface.
>
> > Signed-off-by: Cornelia Huck <address@hidden>
> Acked-by: Christian Borntraeger <address@hidden>
Thx!