[PATCH 2/2] KVM: arm64: selftests: Introduce get_set_regs_perf test

Marc Zyngier maz at kernel.org
Sat Feb 19 01:42:19 PST 2022


Hi Reiji,

On 2022-02-19 04:50, Reiji Watanabe wrote:
> Hi Marc,
> 
> On Thu, Feb 17, 2022 at 1:12 AM Marc Zyngier <maz at kernel.org> wrote:
>> 
>> On Thu, 17 Feb 2022 04:52:10 +0000,
>> Oliver Upton <oupton at google.com> wrote:
>> 
>> > Would it make sense to test some opt-in capabilities that expose
>> > additional registers (PMU, SVE, etc.)?
>> 
>> I think this is important. System registers are usually saved/restored
> 
> Yes, I will fix the test to include registers for opt-in features
> when supported.
> 
>> in groups, and due to the way we walk the sysreg array, timings are
>> unlikely to be uniform. Getting a grip on that could help restructure
>> the walking if required (either per-group arrays, or maybe a tree
>> structure).
> 
> The biggest system register table that I know is sys_reg_descs[],
> and KVM_SET_ONE_REG/KVM_GET_ONE_REG/emulation code already uses
> binary search to find the target entry.  So, the search itself
> isn't that bad.  The difference between the min and the max
> latency of KVM_GET_ONE_REG for the registers is always around
> 200nsec on Ampere Altra machine as far as I checked.

Even if it is OK so far, it is bound to get worse over time, as
the architecture keeps adding all sort of things that we'll
eventually have to save/restore.

I see this test as a way to monitor this trend and work out when
we need to invest in something better.

Thanks,

         M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list