Re: [RFC PATCH v2] s390/virtio-ccw: Adapter interrupt support.

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

 



On Tue, 09 Jul 2013 15:27:14 +0200
Christian Borntraeger <borntraeger@xxxxxxxxxx> 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 <cornelia.huck@xxxxxxxxxx>
> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>

Thx!

--
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