[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJHc60xQNeTwSBuPhrKO_JBuikqZ7R=BM5rkWht3YwieVXwkHg@mail.gmail.com>
Date: Tue, 29 Oct 2024 17:16:48 -0700
From: Raghavendra Rao Ananta <rananta@...gle.com>
To: Marc Zyngier <maz@...nel.org>
Cc: Oliver Upton <oliver.upton@...ux.dev>, linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev, linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
stable@...r.kernel.org, syzbot <syzkaller@...glegroups.com>
Subject: Re: [PATCH v2] KVM: arm64: Get rid of userspace_irqchip_in_use
On Tue, Oct 29, 2024 at 11:47 AM Marc Zyngier <maz@...nel.org> wrote:
>
> On Tue, 29 Oct 2024 17:06:09 +0000,
> Raghavendra Rao Ananta <rananta@...gle.com> wrote:
> >
> > On Tue, Oct 29, 2024 at 9:27 AM Marc Zyngier <maz@...nel.org> wrote:
> > >
> > > On Mon, 28 Oct 2024 23:45:33 +0000,
> > > Raghavendra Rao Ananta <rananta@...gle.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
Powered by blists - more mailing lists