From: Marc Zyngier <marc.zyngier@arm.com>
To: Andre Przywara <andre.przywara@arm.com>, christoffer.dall@linaro.org
Cc: kvm@vger.kernel.org, mtosatti@redhat.com, pbonzini@redhat.com,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3a 11/11] KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus
Date: Mon, 30 Mar 2015 11:47:44 +0100 [thread overview]
Message-ID: <551929D0.8030608@arm.com> (raw)
In-Reply-To: <1427505193-32749-1-git-send-email-andre.przywara@arm.com>
On 28/03/15 01:13, Andre Przywara wrote:
> Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
> data to be passed on from syndrome decoding all the way down to the
> VGIC register handlers. Now as we switch the MMIO handling to be
> routed through the KVM MMIO bus, it does not make sense anymore to
> use that structure already from the beginning. So we keep the data in
> local variables until we put them into the kvm_io_bus framework.
> Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
> structure. On that way we replace the data buffer in that structure
> with a pointer pointing to a single location in a local variable, so
> we get rid of some copying on the way.
> With all of the virtual GIC emulation code now being registered with
> the kvm_io_bus, we can remove all of the old MMIO handling code and
> its dispatching functionality.
>
> I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
> because that touches a lot of code lines without any good reason.
>
> This is based on an original patch by Nikolay.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
> ---
> Hi,
>
> this is a new version of PATCH v3 11/11, which does not use kvm_run
> in the write case anymore. That should fix the problem that Marc and
> Christoffer mentioned. The trick is to not use a structure at all,
> but instead just pass on the needed values as parameters. By folding
> handle_kernel_mmio() into io_mem_abort() we save some code and avoid
> passing too many parameters.
> As this is the last patch and the only one changed, I just send out
> this one and rely on v3 for the other patches. If a complete respin
> on the list is preferred, let me know.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
I've put this into queue, together with Nikolay's (reworked) patch. I'm
currently taking the whole thing for a spin on a few boxesm and will
hopefully push it into -next by the end of the day.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3a 11/11] KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus
Date: Mon, 30 Mar 2015 11:47:44 +0100 [thread overview]
Message-ID: <551929D0.8030608@arm.com> (raw)
In-Reply-To: <1427505193-32749-1-git-send-email-andre.przywara@arm.com>
On 28/03/15 01:13, Andre Przywara wrote:
> Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
> data to be passed on from syndrome decoding all the way down to the
> VGIC register handlers. Now as we switch the MMIO handling to be
> routed through the KVM MMIO bus, it does not make sense anymore to
> use that structure already from the beginning. So we keep the data in
> local variables until we put them into the kvm_io_bus framework.
> Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
> structure. On that way we replace the data buffer in that structure
> with a pointer pointing to a single location in a local variable, so
> we get rid of some copying on the way.
> With all of the virtual GIC emulation code now being registered with
> the kvm_io_bus, we can remove all of the old MMIO handling code and
> its dispatching functionality.
>
> I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
> because that touches a lot of code lines without any good reason.
>
> This is based on an original patch by Nikolay.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
> ---
> Hi,
>
> this is a new version of PATCH v3 11/11, which does not use kvm_run
> in the write case anymore. That should fix the problem that Marc and
> Christoffer mentioned. The trick is to not use a structure at all,
> but instead just pass on the needed values as parameters. By folding
> handle_kernel_mmio() into io_mem_abort() we save some code and avoid
> passing too many parameters.
> As this is the last patch and the only one changed, I just send out
> this one and rely on v3 for the other patches. If a complete respin
> on the list is preferred, let me know.
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
I've put this into queue, together with Nikolay's (reworked) patch. I'm
currently taking the whole thing for a spin on a few boxesm and will
hopefully push it into -next by the end of the day.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2015-03-30 10:47 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-26 14:39 [PATCH v3 00/11] KVM: arm/arm64: move VGIC MMIO to kvm_io_bus Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 01/11] KVM: Redesign kvm_io_bus_ API to pass VCPU structure to the callbacks Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 02/11] KVM: move iodev.h from virt/kvm/ to include/kvm Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 03/11] KVM: arm/arm64: remove now unneeded include directory from Makefile Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 04/11] KVM: x86: " Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 05/11] KVM: arm/arm64: rename struct kvm_mmio_range to vgic_io_range Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 06/11] KVM: arm/arm64: simplify vgic_find_range() and callers Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 14:39 ` [PATCH v3 07/11] KVM: arm/arm64: implement kvm_io_bus MMIO handling for the VGIC Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-27 16:00 ` Christoffer Dall
2015-03-27 16:00 ` Christoffer Dall
2015-03-26 14:39 ` [PATCH v3 08/11] KVM: arm/arm64: prepare GICv2 emulation to be handled by kvm_io_bus Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 21:46 ` Marc Zyngier
2015-03-26 21:46 ` Marc Zyngier
2015-03-27 16:01 ` Christoffer Dall
2015-03-27 16:01 ` Christoffer Dall
2015-03-26 14:39 ` [PATCH v3 09/11] KVM: arm/arm64: merge GICv3 RD_base and SGI_base register frames Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 21:53 ` Marc Zyngier
2015-03-26 21:53 ` Marc Zyngier
2015-03-27 0:14 ` Andre Przywara
2015-03-27 0:14 ` Andre Przywara
2015-03-27 16:01 ` Christoffer Dall
2015-03-27 16:01 ` Christoffer Dall
2015-03-26 14:39 ` [PATCH v3 10/11] KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-26 22:06 ` Marc Zyngier
2015-03-26 22:06 ` Marc Zyngier
2015-03-27 0:14 ` Andre Przywara
2015-03-27 0:14 ` Andre Przywara
2015-03-27 7:34 ` Marc Zyngier
2015-03-27 7:34 ` Marc Zyngier
2015-03-27 16:01 ` Christoffer Dall
2015-03-27 16:01 ` Christoffer Dall
2015-03-26 14:39 ` [PATCH v3 11/11] KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus Andre Przywara
2015-03-26 14:39 ` Andre Przywara
2015-03-27 16:00 ` Christoffer Dall
2015-03-27 16:00 ` Christoffer Dall
2015-03-28 1:13 ` [PATCH v3a " Andre Przywara
2015-03-28 1:13 ` Andre Przywara
2015-03-30 10:47 ` Marc Zyngier [this message]
2015-03-30 10:47 ` Marc Zyngier
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=551929D0.8030608@arm.com \
--to=marc.zyngier@arm.com \
--cc=andre.przywara@arm.com \
--cc=christoffer.dall@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mtosatti@redhat.com \
--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.