Re: [PATCH] kvm/arm64: change gicv3_cpuif to static likely branch

From: Marc Zyngier
Date: Sat Nov 30 2019 - 01:40:04 EST


On Sat, 30 Nov 2019 03:14:43 +0000,
Heyi Guo <guoheyi@xxxxxxxxxx> wrote:
>
> Platforms running hypervisor nowadays are normally powerful servers
> which at least support GICv3, so it should be better to switch
> kvm_vgic_global_state.gicv3_cpuif to static likely branch, which can
> reduce two "b" instructions to a single "nop" for GICv3 branches.
>
> We don't update arm32 specific code for they may still only have
> GICv2.

There is a number of disputable statements here.

Out of the fairly large zoo of arm64 systems I have access to, 75% of
them are based on GICv2, so they are still the overwhelming majority.
Yes, they all run KVM (otherwise I would ignore them).

Furthermore, I would expect that "powerful servers" are perfectly
capable to execute a couple of branches without breaking a sweat.

Finally, you don't provide any number supporting that:

- GICv3 systems see a performance improvement across the large variety
of CPU implementations
- GICv2 systems don't see a performance regression

Once you provide such numbers, I'll reevaluate my position. Until
then, I'm not considering this kind of change.

Thanks,

M.

--
Jazz is not dead, it just smells funny.