mirror of https://github.com/torvalds/linux.git
Convert the PDA code to use %fs rather than %gs as the segment for per-processor data. This is because some processors show a small but measurable performance gain for reloading a NULL segment selector (as %fs generally is in user-space) versus a non-NULL one (as %gs generally is). On modern processors the difference is very small, perhaps undetectable. Some old AMD "K6 3D+" processors are noticably slower when %fs is used rather than %gs; I have no idea why this might be, but I think they're sufficiently rare that it doesn't matter much. This patch also fixes the math emulator, which had not been adjusted to match the changed struct pt_regs. [frederik.deweerdt@gmail.com: fixit with gdb] [mingo@elte.hu: Fix KVM too] Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Andi Kleen <ak@suse.de> Cc: Ian Campbell <Ian.Campbell@XenSource.com> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Zachary Amsden <zach@vmware.com> Cc: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| kvm.h | ||
| kvm_main.c | ||
| kvm_svm.h | ||
| kvm_vmx.h | ||
| mmu.c | ||
| paging_tmpl.h | ||
| segment_descriptor.h | ||
| svm.c | ||
| svm.h | ||
| vmx.c | ||
| vmx.h | ||
| x86_emulate.c | ||
| x86_emulate.h | ||