[PATCH 0/3] arm: KVM: VFP lazy switch in KVM Host Mode may save upto 98%
Christoffer Dall
christoffer.dall at linaro.org
Sun Jul 5 12:37:58 PDT 2015
Hi Mario,
On Wed, Jun 24, 2015 at 08:30:25PM -0700, Mario Smarduch wrote:
> Currently we do a lazy VFP switch in Hyp mode, but once we exit and re-enter hyp
> mode we trap again on VFP access. This mode has shown around 30-50% improvement
> running hackbench and lmbench.
>
> This patch series extends lazy VFP switch beyond Hyp mode to KVM host mode.
>
> 1 - On guest access we switch from host to guest and set a flag accessible to
> host
> 2 - On exit to KVM host, VFP state is restored on vcpu_put if flag is marked (1)
> 3 - Otherwise guest is resumed and continues to use its VFP registers.
> 4 - In case of 2 on VM entry we set VFP trap flag to repeat 1.
>
> If guest does not access VFP registers them implemenation remains the same.
>
> Executing hackbench on Fast Models and Exynos arm32 board shows good
> results. Considering all exits 2% of the time KVM host lazy vfp switch is
> invoked.
>
> Howeverr this patch set requires more burn in time and testing under various
> loads.
>
> Currently ARM32 is addressed later ARM64.
>
I think Marc said that he experimented with a similar patch once, but
that it caused corruption on the host side somehow.
Am I remembering correctly? If so, we would need to make sure this
doesn't happen with this patch set...
Otherwise I think this sounds like a fairly good idea and I wonder if
the same could be done on arm64?
Thanks,
-Christoffer
More information about the linux-arm-kernel
mailing list