Re: [PATCH v2] KVM: arm64: Get rid of userspace_irqchip_in_use

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 29, 2024 at 11:47 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
> On Tue, 29 Oct 2024 17:06:09 +0000,
> Raghavendra Rao Ananta <rananta@xxxxxxxxxx> wrote:
> >
> > On Tue, Oct 29, 2024 at 9:27 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:
> > >
> > > On Mon, 28 Oct 2024 23:45:33 +0000,
> > > Raghavendra Rao Ananta <rananta@xxxxxxxxxx> 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





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux