[PATCH v2] KVM: arm64: Get rid of userspace_irqchip_in_use
Raghavendra Rao Ananta
rananta at google.com
Tue Oct 29 17:16:48 PDT 2024
On Tue, Oct 29, 2024 at 11:47 AM Marc Zyngier <maz at kernel.org> wrote:
>
> On Tue, 29 Oct 2024 17:06:09 +0000,
> Raghavendra Rao Ananta <rananta at google.com> wrote:
> >
> > On Tue, Oct 29, 2024 at 9:27 AM Marc Zyngier <maz at kernel.org> wrote:
> > >
> > > On Mon, 28 Oct 2024 23:45:33 +0000,
> > > Raghavendra Rao Ananta <rananta at google.com> wrote:
> > > >
> > > Did you have a chance to check whether this had any negative impact on
> > > actual workloads? Since the entry/exit code is a bit of a hot spot,
> > > I'd like to make sure we're not penalising the common case (I only
> > > wrote this patch while waiting in an airport, and didn't test it at
> > > all).
> > >
> > I ran the kvm selftests, kvm-unit-tests and booted a linux guest to
> > test the change and noticed no failures.
> > Any specific test you want to try out?
>
> My question is not about failures (I didn't expect any), but
> specifically about *performance*, and whether checking the flag
> without a static key can lead to any performance drop on the hot path.
>
> Can you please run an exit-heavy workload (such as hackbench, for
> example), and report any significant delta you could measure?
Oh, I see. I ran hackbench and micro-bench from kvm-unit-tests (which
also causes a lot of entry/exits), on Ampere Altra with kernel at
v6.12-rc1, and see no significant difference in perf.
hackbench:
=========
Ran on a guest with 64 vCPUs and backed by 8G of memory. The results
are an average of 3 runs:
Task groups | Baseline | Patch | Approx. entry/exits
----------------|------------|--------- |------------------------
100 | 0.154 | 0.164 | 150k
250 | 0.456 | 0.458 | 500k
500 | 0.851 | 0.826 | 920k
(Total tasks for each row == task groups * 40)
kvm-unit-tests micro-bench
======================
The test causes ~530k entry/exits.
Baseline:
name total ns avg ns
--------------------------------------------------------------------------------------------
hvc 20095360.0 306.0
mmio_read_user 110350040.0 1683.0
mmio_read_vgic 29572840.0 451.0
eoi 964080.0
14.0
ipi 126236640.0 1926.0
lpi 142848920.0 2179.0
timer_10ms 231040.0 902.0
Patch:
name total ns avg ns
--------------------------------------------------------------------------------------------
hvc 20067680.0 306.0
mmio_read_user 109513800.0 1671.0
mmio_read_vgic 29190080.0 445.0
eoi 963400.0
14.0
ipi 116481640.0 1777.0
lpi 136556000.0 2083.0
timer_10ms 234120.0 914.0
Thank you.
Raghavendra
More information about the linux-arm-kernel
mailing list