All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Eric Auger <eric.auger@linaro.org>
Cc: eric.auger@st.com, linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	christoffer.dall@linaro.org, marc.zyngier@arm.com,
	pbonzini@redhat.com, avi.kivity@gmail.com, mtosatti@redhat.com,
	feng.wu@intel.com, joro@8bytes.org,
	b.reynal@virtualopensystems.com, linux-kernel@vger.kernel.org,
	patches@linaro.org
Subject: Re: [RFC v2 0/6] IRQ bypass manager and irqfd consumer
Date: Tue, 07 Jul 2015 11:17:48 -0600	[thread overview]
Message-ID: <1436289468.1391.89.camel@redhat.com> (raw)
In-Reply-To: <1436184692-20927-1-git-send-email-eric.auger@linaro.org>

On Mon, 2015-07-06 at 14:11 +0200, Eric Auger wrote:
> 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


Thanks for taking this from a skeleton to a functional implementation,
Eric!  I'm happy with the way this is progressing.  Once we're confident
Feng can use your extensions, I'd be happy to merge those back into the
irq bypass manager and propose it upstream.

Hosting the bypass manager in kernel/irq seemed appropriate, but really
it could be anywhere.  Does anyone have a different preference or
specifically want it under their scope?  We had originally thought of
this as an IOMMU service, but I think we've generalized it beyond that.
I expect we should also add the necessary hooks to turn it into a
loadable module to keep the tinification folks happy, I'll incorporate
the current working changes and post a version with that.  Thanks,

Alex

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




WARNING: multiple messages have this Message-ID (diff)
From: alex.williamson@redhat.com (Alex Williamson)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC v2 0/6] IRQ bypass manager and irqfd consumer
Date: Tue, 07 Jul 2015 11:17:48 -0600	[thread overview]
Message-ID: <1436289468.1391.89.camel@redhat.com> (raw)
In-Reply-To: <1436184692-20927-1-git-send-email-eric.auger@linaro.org>

On Mon, 2015-07-06 at 14:11 +0200, Eric Auger wrote:
> 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


Thanks for taking this from a skeleton to a functional implementation,
Eric!  I'm happy with the way this is progressing.  Once we're confident
Feng can use your extensions, I'd be happy to merge those back into the
irq bypass manager and propose it upstream.

Hosting the bypass manager in kernel/irq seemed appropriate, but really
it could be anywhere.  Does anyone have a different preference or
specifically want it under their scope?  We had originally thought of
this as an IOMMU service, but I think we've generalized it beyond that.
I expect we should also add the necessary hooks to turn it into a
loadable module to keep the tinification folks happy, I'll incorporate
the current working changes and post a version with that.  Thanks,

Alex

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

WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Eric Auger <eric.auger@linaro.org>
Cc: eric.auger@st.com, kvm@vger.kernel.org, patches@linaro.org,
	marc.zyngier@arm.com, joro@8bytes.org, mtosatti@redhat.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, pbonzini@redhat.com,
	feng.wu@intel.com, kvmarm@lists.cs.columbia.edu,
	avi.kivity@gmail.com
Subject: Re: [RFC v2 0/6] IRQ bypass manager and irqfd consumer
Date: Tue, 07 Jul 2015 11:17:48 -0600	[thread overview]
Message-ID: <1436289468.1391.89.camel@redhat.com> (raw)
In-Reply-To: <1436184692-20927-1-git-send-email-eric.auger@linaro.org>

On Mon, 2015-07-06 at 14:11 +0200, Eric Auger wrote:
> 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


Thanks for taking this from a skeleton to a functional implementation,
Eric!  I'm happy with the way this is progressing.  Once we're confident
Feng can use your extensions, I'd be happy to merge those back into the
irq bypass manager and propose it upstream.

Hosting the bypass manager in kernel/irq seemed appropriate, but really
it could be anywhere.  Does anyone have a different preference or
specifically want it under their scope?  We had originally thought of
this as an IOMMU service, but I think we've generalized it beyond that.
I expect we should also add the necessary hooks to turn it into a
loadable module to keep the tinification folks happy, I'll incorporate
the current working changes and post a version with that.  Thanks,

Alex

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

  parent reply	other threads:[~2015-07-07 17:17 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 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: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: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 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  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 17:17 ` Alex Williamson [this message]
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-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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1436289468.1391.89.camel@redhat.com \
    --to=alex.williamson@redhat.com \
    --cc=avi.kivity@gmail.com \
    --cc=b.reynal@virtualopensystems.com \
    --cc=christoffer.dall@linaro.org \
    --cc=eric.auger@linaro.org \
    --cc=eric.auger@st.com \
    --cc=feng.wu@intel.com \
    --cc=joro@8bytes.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mtosatti@redhat.com \
    --cc=patches@linaro.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.