[RFC PATCH 6/6] KVM: PPC: Book3E: Enhance FPU laziness
Scott Wood
scottwood at freescale.com
Wed Jun 5 08:53:52 EST 2013
On 06/03/2013 03:54:28 PM, Mihai Caraman wrote:
> Adopt AltiVec approach to increase laziness by calling
> kvmppc_load_guest_fp()
> just before returning to guest instaed of each sched in.
>
> Signed-off-by: Mihai Caraman <mihai.caraman at freescale.com>
If you did this *before* adding Altivec it would have saved a question
in an earlier patch. :-)
> ---
> arch/powerpc/kvm/booke.c | 1 +
> arch/powerpc/kvm/e500mc.c | 2 --
> 2 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
> index 019496d..5382238 100644
> --- a/arch/powerpc/kvm/booke.c
> +++ b/arch/powerpc/kvm/booke.c
> @@ -1258,6 +1258,7 @@ int kvmppc_handle_exit(struct kvm_run *run,
> struct kvm_vcpu *vcpu,
> } else {
> kvmppc_lazy_ee_enable();
> kvmppc_load_guest_altivec(vcpu);
> + kvmppc_load_guest_fp(vcpu);
> }
> }
>
You should probably do these before kvmppc_lazy_ee_enable().
Actually, I don't think this is a good idea at all. As I understand
it, you're not supposed to take kernel ownersship of floating point in
non-atomic context, because an interrupt could itself call
enable_kernel_fp().
Do you have benchmarks showing it's even worthwhile?
-Scott
More information about the Linuxppc-dev
mailing list