All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 0/6] IRQ bypass manager and irqfd consumer
@ 2015-07-06 12:11 ` Eric Auger
  0 siblings, 0 replies; 84+ messages in thread
From: Eric Auger @ 2015-07-06 12:11 UTC (permalink / raw)
  To: eric.auger, eric.auger, linux-arm-kernel, kvmarm, kvm,
	christoffer.dall, marc.zyngier, alex.williamson, pbonzini,
	avi.kivity, mtosatti, feng.wu, joro, b.reynal
  Cc: linux-kernel, patches

This series introduces and extends the IRQ bypass manager written
by Alex and transforms irqfd into an IRQ bypass manager consumer.
The producer part, in my case the VFIO platform driver will be introduced
separately. That code should be usable by both ARM IRQ forwarding
and Intel Posted Interrupts.

The IRQ bypass manager enables to setup a negotiated link between an
IRQ producer and an IRQ consumer (typically the VFIO driver and KVM irqfd).

The series currently includes Alex's code which was sent my email.
Its structure obvioulsy will adapt to Alex's will.

Also the irq bypass manager gets compiled/linked on arm/arm64 along
with KVM and VFIO platform driver.

can be found at:
https://git.linaro.org/people/eric.auger/linux.git/shortlog/refs/heads/v4.2-rc1-bypass-fwd-v2

Best Regards

Eric

History:
v1 -> v2:
- isolate the bypass manager and irqfd consumer in this series
- take into account Paolo's comments and use container_of strategy and
  remove additional fields introduced in v1.
- create kvm_irqfd.h
- add unregistration in irqfd_shutdown

v1: originally part of [RFC 00/17] ARM IRQ forward control based on IRQ
    bypass manager (https://lkml.org/lkml/2015/7/2/268)


Eric Auger (6):
  KVM: arm/arm64: select IRQ_BYPASS_MANAGER
  VFIO: platform: select IRQ_BYPASS_MANAGER
  irq: bypass: Extend skeleton for ARM forwarding control
  KVM: create kvm_irqfd.h
  KVM: introduce kvm_arch functions for IRQ bypass
  KVM: eventfd: add irq bypass consumer management

 arch/arm/kvm/Kconfig          |   1 +
 arch/arm64/kvm/Kconfig        |   1 +
 drivers/vfio/platform/Kconfig |   1 +
 include/linux/irqbypass.h     |  19 ++++++--
 include/linux/kvm_host.h      |  37 ++++++++++++++
 include/linux/kvm_irqfd.h     |  70 +++++++++++++++++++++++++++
 kernel/irq/bypass.c           |  44 +++++++++++++++--
 virt/kvm/Kconfig              |   3 ++
 virt/kvm/eventfd.c            | 109 +++++++++++++-----------------------------
 9 files changed, 203 insertions(+), 82 deletions(-)
 create mode 100644 include/linux/kvm_irqfd.h

-- 
1.9.1


^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2015-07-24  1:27 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-06 12:11 [RFC v2 0/6] IRQ bypass manager and irqfd consumer Eric Auger
2015-07-06 12:11 ` Eric Auger
2015-07-06 12:11 ` [RFC v2 1/6] KVM: arm/arm64: select IRQ_BYPASS_MANAGER Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-06 12:24   ` Paolo Bonzini
2015-07-06 12:24     ` Paolo Bonzini
2015-07-06 12:11 ` [RFC v2 2/6] VFIO: platform: " Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-06 12:11 ` [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-06 12:27   ` Paolo Bonzini
2015-07-06 12:27     ` Paolo Bonzini
2015-07-06 15:35     ` Eric Auger
2015-07-06 15:35       ` Eric Auger
2015-07-06 15:57       ` Paolo Bonzini
2015-07-06 15:57         ` Paolo Bonzini
2015-07-06 17:09         ` Eric Auger
2015-07-06 17:09           ` Eric Auger
2015-07-06 17:41           ` Paolo Bonzini
2015-07-06 17:41             ` Paolo Bonzini
2015-07-07  7:10             ` Eric Auger
2015-07-07  7:10               ` Eric Auger
2015-07-07  8:58               ` Paolo Bonzini
2015-07-07  8:58                 ` Paolo Bonzini
2015-07-07 10:58   ` Wu, Feng
2015-07-07 10:58     ` Wu, Feng
2015-07-07 10:58     ` Wu, Feng
2015-07-07 11:00     ` Paolo Bonzini
2015-07-07 11:00       ` Paolo Bonzini
2015-07-07 11:00       ` Paolo Bonzini
2015-07-07 11:13       ` Wu, Feng
2015-07-07 11:13         ` Wu, Feng
2015-07-07 11:13         ` Wu, Feng
2015-07-07 11:13         ` Paolo Bonzini
2015-07-07 11:13           ` Paolo Bonzini
2015-07-07 11:13           ` Paolo Bonzini
2015-07-07 11:18           ` Wu, Feng
2015-07-07 11:18             ` Wu, Feng
2015-07-07 11:18             ` Wu, Feng
2015-07-07 11:21             ` Paolo Bonzini
2015-07-07 11:21               ` Paolo Bonzini
2015-07-07 11:21               ` Paolo Bonzini
2015-07-07 11:24               ` Wu, Feng
2015-07-07 11:24                 ` Wu, Feng
2015-07-07 11:24                 ` Wu, Feng
2015-07-07 11:33                 ` Wu, Feng
2015-07-07 11:33                   ` Wu, Feng
2015-07-07 11:33                   ` Wu, Feng
2015-07-07 13:22                   ` Paolo Bonzini
2015-07-07 13:22                     ` Paolo Bonzini
2015-07-07 13:22                     ` Paolo Bonzini
2015-07-06 12:11 ` [RFC v2 4/6] KVM: create kvm_irqfd.h Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-06 12:11 ` [RFC v2 5/6] KVM: introduce kvm_arch functions for IRQ bypass Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-06 12:11 ` [RFC v2 6/6] KVM: eventfd: add irq bypass consumer management Eric Auger
2015-07-06 12:11   ` Eric Auger
2015-07-07  8:47   ` Wu, Feng
2015-07-07  8:47     ` Wu, Feng
2015-07-07  8:47     ` Wu, Feng
2015-07-07  9:05     ` Eric Auger
2015-07-07  9:05       ` Eric Auger
2015-07-07  9:05       ` Eric Auger
2015-07-07  9:13       ` Wu, Feng
2015-07-07  9:13         ` Wu, Feng
2015-07-07  9:13         ` Wu, Feng
2015-07-07 17:17 ` [RFC v2 0/6] IRQ bypass manager and irqfd consumer Alex Williamson
2015-07-07 17:17   ` Alex Williamson
2015-07-07 17:17   ` Alex Williamson
2015-07-09 12:28   ` Joerg Roedel
2015-07-09 12:28     ` Joerg Roedel
2015-07-09 14:13     ` Alex Williamson
2015-07-09 14:13       ` Alex Williamson
2015-07-09 14:38       ` Paolo Bonzini
2015-07-09 14:38         ` Paolo Bonzini
2015-07-09 15:34         ` Joerg Roedel
2015-07-09 15:34           ` Joerg Roedel
2015-07-09 15:34           ` Joerg Roedel
2015-07-09 16:06           ` Alex Williamson
2015-07-09 16:06             ` Alex Williamson
2015-07-09 16:06             ` Alex Williamson
2015-07-24  1:27 ` Wu, Feng
2015-07-24  1:27   ` Wu, Feng
2015-07-24  1:27   ` Wu, Feng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.