Skip to content

KVM & genirq: Enable adaptive IRQ sharing for passed-through devices

Jan Kiszka kvm lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest4 patches 29 repliesIn review
  2. v24 patches 8 repliesSuperseded
  3. v15 patches 11 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4genirq: Introduce driver-readable IRQ status wordinclude/linux/interrupt.h include/linux/irq.h kernel/irq/manage.c+19 -02 replies
2/4genirq: Inform handler about line sharing stateinclude/linux/interrupt.h kernel/irq/manage.c+54 -325 replies
3/4genirq: Add support for IRQF_COND_ONESHOTinclude/linux/interrupt.h kernel/irq/manage.c+19 -30 replies
4/4KVM: Allow host IRQ sharing for passed-through PCI 2.3 devicesDocumentation/kvm/api.txt arch/x86/kvm/x86.c include/linux/kvm.h +2 more+346 -340 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/4] KVM & genirq: Enable adaptive IRQ sharing for passed-through devices

This addresses the review comments of the previous round:
- renamed irq_data::status to drv_status
- moved drv_status around to unbreak GENERIC_HARDIRQS_NO_DEPRECATED
- fixed signature of get_irq_status (irq is now unsigned int)
- converted register_lock into a global one
- fixed critical white space breakage (that I just left in to check if anyone is actually reading the code, of course...)

Note: The KVM patch still depends on
http://thread.gmane.org/gmane.comp.emulators.kvm.devel/64515

Thanks for all comments!

Final but critical question: Who will pick up which bits?

Jan Kiszka (4):
genirq: Introduce driver-readable IRQ status word
genirq: Inform handler about line sharing state
genirq: Add support for IRQF_COND_ONESHOT
KVM: Allow host IRQ sharing for passed-through PCI 2.3 devices

 Documentation/kvm/api.txt |   27 ++++
 arch/x86/kvm/x86.c        |    1 +
 include/linux/interrupt.h |   15 ++
 include/linux/irq.h       |    2 +
 include/linux/kvm.h       |    6 +
 include/linux/kvm_host.h  |   10 ++-
 kernel/irq/manage.c       |   77 ++++++++++-
 virt/kvm/assigned-dev.c   |  336 ++++++++++++++++++++++++++++++++++++++++-----
 8 files changed, 436 insertions(+), 38 deletions(-)