[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