Re: [PATCH 0/5] x86/paravirt: clean up paravirt.h and optimise FPUcontext switch

From: Jeremy Fitzhardinge
Date: Fri Jun 12 2009 - 12:09:31 EST


On 06/12/09 05:37, Ingo Molnar wrote:
* Jeremy Fitzhardinge<jeremy@xxxxxxxx> wrote:

Hi Ingo,

This series:
- splits asm/paravirt.h into paravirt.h and paravirt_types.h
- splits out the context switch core of math_state_restore into __math_state_restore
- rearranges 32 and 64 bit context switch to be the same and to properly
batch FPU context switches when running paravirtualized

There should be no performance side-effects of these changes. They amount
to a small rearrangement of the existing code (and bringing the 64-bit
code a bit closer to 32-bit, countering some genetic drift).

I think these are probably safe to go into this merge window, but I
don't think I've posted these before, so I understand if you're hesitant
(I've had them applied locally for some time with no ill-effects).
The paravirt cleanup is pure movement between headers, so I don't think
there's much risk there at all.

arch/x86/include/asm/i387.h | 1 +
arch/x86/include/asm/paravirt.h | 711 +--------------------------------
arch/x86/include/asm/paravirt_types.h | 720 +++++++++++++++++++++++++++++++++
arch/x86/kernel/process_32.c | 27 +-
arch/x86/kernel/process_64.c | 33 +-
arch/x86/kernel/traps.c | 33 +-
6 files changed, 782 insertions(+), 743 deletions(-)

hm, no Git pull coordinates - but you have this in a Git tree,
right?

Oh, yep:


The following changes since commit 588aa5f175154e2b15565fda4c21741c1c1d25a8:
Ingo Molnar (1):
Merge branch 'kmemcheck'

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git x86/paravirt

Jeremy Fitzhardinge (5):
x86/paravirt: split paravirt definitions into paravirt_types.h
x86: split out core __math_state_restore
x86-32: make sure clts is batched during context switch
x86-64: move unlazy_fpu() into lazy cpu state part of context switch
x86-64: move clts into batch cpu state updates when preloading fpu

arch/x86/include/asm/i387.h | 1 +
arch/x86/include/asm/paravirt.h | 711 +--------------------------------
arch/x86/include/asm/paravirt_types.h | 720 +++++++++++++++++++++++++++++++++
arch/x86/kernel/process_32.c | 27 +-
arch/x86/kernel/process_64.c | 33 +-
arch/x86/kernel/traps.c | 33 +-
6 files changed, 782 insertions(+), 743 deletions(-)
create mode 100644 arch/x86/include/asm/paravirt_types.h

J

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/