From: eric.auger@linaro.org (Eric Auger)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/3] irqfd support for arm/arm64
Date: Mon, 24 Nov 2014 11:10:46 +0100 [thread overview]
Message-ID: <54730426.9030703@linaro.org> (raw)
In-Reply-To: <20141124094731.GH3401@cbox>
On 11/24/2014 10:47 AM, Christoffer Dall wrote:
> On Sun, Nov 23, 2014 at 06:56:57PM +0100, Eric Auger wrote:
>> This patch series enables irqfd on arm and arm64.
>>
>> Irqfd framework enables to inject a virtual IRQ into a guest upon an
>> eventfd trigger. User-side uses KVM_IRQFD VM ioctl to provide KVM with
>> a kvm_irqfd struct that associates a VM, an eventfd, a virtual IRQ number
>> (aka. the gsi). When an actor signals the eventfd (typically a VFIO
>> platform driver), the kvm irqfd subsystem injects the gsi into the VM.
>>
>> Resamplefd also is supported for level sensitive interrupts, ie. the
>> user can provide another eventfd that is triggered when the completion
>> of the virtual IRQ (gsi) is detected by the GIC.
>>
>> The gsi must correspond to a shared peripheral interrupt (SPI), ie the
>> GIC interrupt ID is gsi + 32.
>>
>> The rationale behind not supporting PPI irqfd injection is that
>> any device using a PPI would be a private-to-the-CPU device (timer for
>> instance), so its state would have to be context-switched along with the
>> VCPU and would require in-kernel wiring anyhow. It is not a relevant use
>> case for irqfds.
>>
>> this patch enables CONFIG_HAVE_KVM_EVENTFD and CONFIG_HAVE_KVM_IRQFD.
>>
>> No IRQ routing table is used, enabling to remove CONFIG_HAVE_KVM_IRQCHIP
>>
>> can be found at git://git.linaro.org/people/eric.auger/linux.git
>> on branch irqfd_integ_v8
>>
>> This work was tested with Calxeda Midway xgmac main interrupt with
>> qemu-system-arm and QEMU VFIO platform device. Also irqfd was proven
>> functional on several vhost-net prototypes.
>>
>> v3 -> v4:
>> - rebase on 3.18rc5
>> - vgic dynamic instantiation brought new challenges:
>> handling of irqfd injection when vgic is not ready
>> - unset of CONFIG_HAVE_KVM_IRQCHIP in a separate patch
>> - add arm64 enable
>> - vgic.c style modifications according to Christoffer comments
>>
>
> There also seems to be a different split of the patches here?
Hi Christoffer,
yes I added arm64b support and moved CONFIG_HAVE_KVM_IRQCHIP removal in
a separate patch.
>
> We've probably also reached the point where you need to start rebasing
> on Andre's GICv3 patches, which I expect will go in first.
the patch applies without conflict on Andre's series.
BR
Eric
>
> Thanks,
> -Christoffer
>
WARNING: multiple messages have this Message-ID (diff)
From: Eric Auger <eric.auger@linaro.org>
To: Christoffer Dall <christoffer.dall@linaro.org>
Cc: eric.auger@st.com, marc.zyngier@arm.com,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
alex.williamson@redhat.com, joel.schopp@amd.com,
kim.phillips@freescale.com, paulus@samba.org, gleb@kernel.org,
pbonzini@redhat.com, linux-kernel@vger.kernel.org,
patches@linaro.org, will.deacon@arm.com,
a.motakis@virtualopensystems.com, a.rigo@virtualopensystems.com,
john.liuli@huawei.com, ming.lei@canonical.com, feng.wu@intel.com
Subject: Re: [PATCH v4 0/3] irqfd support for arm/arm64
Date: Mon, 24 Nov 2014 11:10:46 +0100 [thread overview]
Message-ID: <54730426.9030703@linaro.org> (raw)
In-Reply-To: <20141124094731.GH3401@cbox>
On 11/24/2014 10:47 AM, Christoffer Dall wrote:
> On Sun, Nov 23, 2014 at 06:56:57PM +0100, Eric Auger wrote:
>> This patch series enables irqfd on arm and arm64.
>>
>> Irqfd framework enables to inject a virtual IRQ into a guest upon an
>> eventfd trigger. User-side uses KVM_IRQFD VM ioctl to provide KVM with
>> a kvm_irqfd struct that associates a VM, an eventfd, a virtual IRQ number
>> (aka. the gsi). When an actor signals the eventfd (typically a VFIO
>> platform driver), the kvm irqfd subsystem injects the gsi into the VM.
>>
>> Resamplefd also is supported for level sensitive interrupts, ie. the
>> user can provide another eventfd that is triggered when the completion
>> of the virtual IRQ (gsi) is detected by the GIC.
>>
>> The gsi must correspond to a shared peripheral interrupt (SPI), ie the
>> GIC interrupt ID is gsi + 32.
>>
>> The rationale behind not supporting PPI irqfd injection is that
>> any device using a PPI would be a private-to-the-CPU device (timer for
>> instance), so its state would have to be context-switched along with the
>> VCPU and would require in-kernel wiring anyhow. It is not a relevant use
>> case for irqfds.
>>
>> this patch enables CONFIG_HAVE_KVM_EVENTFD and CONFIG_HAVE_KVM_IRQFD.
>>
>> No IRQ routing table is used, enabling to remove CONFIG_HAVE_KVM_IRQCHIP
>>
>> can be found at git://git.linaro.org/people/eric.auger/linux.git
>> on branch irqfd_integ_v8
>>
>> This work was tested with Calxeda Midway xgmac main interrupt with
>> qemu-system-arm and QEMU VFIO platform device. Also irqfd was proven
>> functional on several vhost-net prototypes.
>>
>> v3 -> v4:
>> - rebase on 3.18rc5
>> - vgic dynamic instantiation brought new challenges:
>> handling of irqfd injection when vgic is not ready
>> - unset of CONFIG_HAVE_KVM_IRQCHIP in a separate patch
>> - add arm64 enable
>> - vgic.c style modifications according to Christoffer comments
>>
>
> There also seems to be a different split of the patches here?
Hi Christoffer,
yes I added arm64b support and moved CONFIG_HAVE_KVM_IRQCHIP removal in
a separate patch.
>
> We've probably also reached the point where you need to start rebasing
> on Andre's GICv3 patches, which I expect will go in first.
the patch applies without conflict on Andre's series.
BR
Eric
>
> Thanks,
> -Christoffer
>
next prev parent reply other threads:[~2014-11-24 10:10 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-23 17:56 [PATCH v4 0/3] irqfd support for arm/arm64 Eric Auger
2014-11-23 17:56 ` Eric Auger
2014-11-23 17:56 ` [PATCH v4 1/3] KVM: arm/arm64: unset CONFIG_HAVE_KVM_IRQCHIP Eric Auger
2014-11-23 17:56 ` Eric Auger
2014-11-24 9:48 ` Christoffer Dall
2014-11-24 9:48 ` Christoffer Dall
2014-11-24 11:09 ` Will Deacon
2014-11-24 11:09 ` Will Deacon
2014-11-24 11:09 ` Will Deacon
2014-11-23 17:56 ` [PATCH v4 2/3] KVM: arm: add irqfd support Eric Auger
2014-11-23 17:56 ` Eric Auger
2014-11-24 10:00 ` Christoffer Dall
2014-11-24 10:00 ` Christoffer Dall
2014-11-24 11:02 ` Eric Auger
2014-11-24 11:02 ` Eric Auger
2014-11-24 15:47 ` Christoffer Dall
2014-11-24 15:47 ` Christoffer Dall
[not found] ` <54735FF6.9000008@linaro.org>
2014-11-25 10:19 ` Christoffer Dall
2014-11-25 10:19 ` Christoffer Dall
2014-11-25 13:12 ` Eric Auger
2014-11-25 13:12 ` Eric Auger
2014-11-25 13:29 ` Eric Auger
2014-11-25 13:29 ` Eric Auger
2014-11-26 11:31 ` Christoffer Dall
2014-11-26 11:31 ` Christoffer Dall
2014-11-26 13:00 ` Eric Auger
2014-11-26 13:00 ` Eric Auger
2014-11-23 17:57 ` [PATCH v4 3/3] KVM: arm64: " Eric Auger
2014-11-23 17:57 ` Eric Auger
2014-11-24 10:01 ` Christoffer Dall
2014-11-24 10:01 ` Christoffer Dall
2014-11-24 9:47 ` [PATCH v4 0/3] irqfd support for arm/arm64 Christoffer Dall
2014-11-24 9:47 ` Christoffer Dall
2014-11-24 10:10 ` Eric Auger [this message]
2014-11-24 10:10 ` Eric Auger
2014-11-24 18:10 ` Andre Przywara
2014-11-24 18:10 ` Andre Przywara
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=54730426.9030703@linaro.org \
--to=eric.auger@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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.