[PATCH 3/6] KVM: PPC: Book3E: Increase FPU laziness
Scott Wood
scottwood at freescale.com
Thu Jul 4 03:07:12 EST 2013
On 07/03/2013 10:11:50 AM, Alexander Graf wrote:
>
> On 03.07.2013, at 15:55, Caraman Mihai Claudiu-B02008 wrote:
>
> >> -----Original Message-----
> >> From: Alexander Graf [mailto:agraf at suse.de]
> >> Sent: Wednesday, July 03, 2013 4:45 PM
> >> To: Caraman Mihai Claudiu-B02008
> >> Cc: kvm-ppc at vger.kernel.org; kvm at vger.kernel.org; linuxppc-
> >> dev at lists.ozlabs.org
> >> Subject: Re: [PATCH 3/6] KVM: PPC: Book3E: Increase FPU laziness
> >>
> >>
> >> On 03.07.2013, at 14:42, Mihai Caraman wrote:
> >>
> >>> Increase FPU laziness by calling kvmppc_load_guest_fp() just
> before
> >>> returning to guest instead of each sched in. Without this
> improvement
> >>> an interrupt may also claim floting point corrupting guest state.
> >>
> >> Not sure I follow. Could you please describe exactly what's
> happening?
> >
> > This was already discussed on the list, I will forward you the
> thread.
>
> The only thing I've seen in that thread was some pathetic theoretical
> case where an interrupt handler would enable fp and clobber state
> carelessly. That's not something I'm worried about.
On x86 floating point registers can be used for memcpy(), which can be
used in interrupt handlers. Just because it doesn't happen on PPC
today doesn't make it a "pathetic theoretical case" that we should
ignore and leave a landmine buried in the KVM code. Even power7 is
using something similar for copyuser (which isn't called from interrupt
context, but it's not a huge leap from that to doing it in memcpy).
It also doesn't seem *that* farfetched that some driver for unusual
hardware could decide it needs FP in its interrupt handler, and call
the function that is specifically meant to ensure that. It's frowned
upon, but that doesn't mean nobody will ever do it.
-Scott
More information about the Linuxppc-dev
mailing list