linux/arch/x86/kernel
Suresh Siddha 61c4628b53 x86, fpu: split FPU state from task struct - v5
Split the FPU save area from the task struct. This allows easy migration
of FPU context, and it's generally cleaner. It also allows the following
two optimizations:

1) only allocate when the application actually uses FPU, so in the first
lazy FPU trap. This could save memory for non-fpu using apps. Next patch
does this lazy allocation.

2) allocate the right size for the actual cpu rather than 512 bytes always.
Patches enabling xsave/xrstor support (coming shortly) will take advantage
of this.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-04-19 19:19:55 +02:00
..
acpi x86: remove pointless comments 2008-04-19 19:19:54 +02:00
cpu x86: remove pointless comments 2008-04-19 19:19:54 +02:00
.gitignore
alternative.c x86: fix test_poke for vmalloced pages 2008-04-17 17:41:29 +02:00
aperture_64.c x86: clean up aperture_64.c 2008-04-17 17:41:19 +02:00
apic_32.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
apic_64.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
apm_32.c x86: switch to proc_create() 2008-04-17 17:40:51 +02:00
asm-offsets.c
asm-offsets_32.c
asm-offsets_64.c
audit_64.c
bootflag.c
bugs_64.c x86: don't use large pages to map the first 2/4MB of memory 2008-04-17 17:41:30 +02:00
cpuid.c
crash.c x86: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
crash_dump_32.c
crash_dump_64.c
doublefault_32.c
ds.c x86: debug Store - call kfree if only we really need it 2008-04-17 17:41:34 +02:00
e820_32.c x86: rename find_max_pfn() to propagate_e820_map() 2008-04-19 19:19:55 +02:00
e820_64.c x86: e820_64, fix section mismatch warning 2008-04-19 19:19:54 +02:00
early-quirks.c
early_printk.c x86: coding style fixes to x86/kernel/early_printk.c 2008-04-17 17:40:51 +02:00
efi.c x86: EFI_PAGE_SHIFT fix 2008-04-19 19:19:54 +02:00
efi_32.c
efi_64.c x86: EFI_PAGE_SHIFT fix 2008-04-19 19:19:54 +02:00
efi_stub_32.S
efi_stub_64.S
entry_32.S x86: remove pointless comments 2008-04-19 19:19:54 +02:00
entry_64.S x86: ptrace vs -ENOSYS 2008-04-17 17:41:13 +02:00
genapic_64.c x86: move x86_cpu_to_apicid_init to smpboot.c 2008-04-17 17:41:34 +02:00
genapic_flat_64.c x86: use cpumask_of_cpu() 2008-04-17 17:41:36 +02:00
genx2apic_uv_x.c x86: support for new UV apic 2008-04-17 17:41:33 +02:00
geode_32.c
head32.c
head64.c x86_64: do not reserve ramdisk two times 2008-04-19 19:19:54 +02:00
head_32.S x86: remove pointless comments 2008-04-19 19:19:54 +02:00
head_64.S x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
hpet.c
i386_ksyms_32.c
i387.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
i8237.c
i8253.c
i8259_32.c
i8259_64.c
init_task.c
io_apic_32.c x86: remove unnecessary tmp local variable 2008-04-17 17:41:36 +02:00
io_apic_64.c x86: use cpumask_of_cpu() 2008-04-17 17:41:36 +02:00
io_delay.c
ioport.c
ipi.c x86: create ipi.c 2008-04-17 17:40:56 +02:00
irq_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
irq_64.c
k8.c
kdebugfs.c
kgdb.c x86: KGDB build fix 2008-04-19 19:19:54 +02:00
kprobes.c x86: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
ldt.c
machine_kexec_32.c
machine_kexec_64.c
Makefile x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
mca_32.c
mfgpt_32.c
microcode.c x86: microcode: show results on success too 2008-04-17 17:41:32 +02:00
module_32.c
module_64.c
mpparse.c x86: print out buggy mptable 2008-04-17 17:41:36 +02:00
msr.c
nmi_32.c ftrace: add notrace annotations for NMI routines 2008-04-19 19:19:55 +02:00
nmi_64.c ftrace: add notrace annotations for NMI routines 2008-04-19 19:19:55 +02:00
numaq_32.c
paravirt.c x86: paravirt_ops: don't steal memory resources in paravirt_disable_iospace 2008-04-17 17:41:33 +02:00
paravirt_patch_32.c
paravirt_patch_64.c
pci-calgary_64.c
pci-dma_32.c
pci-dma_64.c x86 iommu: add more documentation 2008-04-17 17:40:59 +02:00
pci-gart_64.c
pci-nommu_64.c
pci-swiotlb_64.c
pcspeaker.c
pmtimer_64.c
process.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
process_32.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
process_64.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
ptrace.c
quirks.c
reboot.c x86: use cpu_online() 2008-04-17 17:41:36 +02:00
reboot_fixups_32.c
relocate_kernel_32.S x86: relocate_kernel - use predefined macroses for page attributes 2008-04-17 17:41:29 +02:00
relocate_kernel_64.S x86: relocate_kernel - use predefined macroses for page attributes 2008-04-17 17:41:29 +02:00
rtc.c
scx200_32.c
setup.c x86: move up & smp variables to setup.c 2008-04-17 17:41:35 +02:00
setup64.c x86: fix exec mappings comments 2008-04-19 19:19:55 +02:00
setup_32.c x86: rename find_max_pfn() to propagate_e820_map() 2008-04-19 19:19:55 +02:00
setup_64.c x86_64: do not reserve ramdisk two times 2008-04-19 19:19:54 +02:00
sigframe.h
signal_32.c x86: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
signal_64.c x86: remove DEBUG_SIG 2008-04-17 17:40:57 +02:00
smp.c x86: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
smpboot.c x86: standalone trampoline code 2008-04-17 17:41:37 +02:00
smpcommon.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
smpcommon_32.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
srat_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
stacktrace.c
step.c x86: prevent unconditional writes to DebugCtl MSR 2008-04-17 17:40:58 +02:00
summit_32.c x86: move mp_bus_id_to_node to numa.c 2008-04-17 17:40:59 +02:00
sys_i386_32.c
sys_x86_64.c
syscall_64.c
syscall_table_32.S
tce_64.c
test_nx.c x86: Explicitly include required header files. 2008-04-17 17:41:15 +02:00
test_rodata.c
time_32.c
time_64.c
tlb_32.c x86: create tlb files 2008-04-17 17:40:56 +02:00
tlb_64.c x86: move ipi definitions to mach_ipi.h 2008-04-17 17:41:30 +02:00
tls.c
tls.h
topology.c
trampoline.c x86: standalone trampoline code 2008-04-17 17:41:37 +02:00
trampoline_32.S
trampoline_64.S x86: move suspend wakeup code to C 2008-04-17 17:41:37 +02:00
traps_32.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
traps_64.c x86, fpu: split FPU state from task struct - v5 2008-04-19 19:19:55 +02:00
tsc_32.c x86: tsc prevent time going backwards 2008-04-19 19:19:55 +02:00
tsc_64.c x86: tsc prevent time going backwards 2008-04-19 19:19:55 +02:00
tsc_sync.c
verify_cpu_64.S
vm86_32.c x86: replace most VM86 flags with flags from processor-flags.h 2008-04-17 17:41:33 +02:00
vmi_32.c
vmiclock_32.c
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S
vsmp_64.c x86: clean up vSMP detection 2008-04-17 17:41:29 +02:00
vsyscall_64.c
x8664_ksyms_64.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 2008-04-18 08:25:51 -07:00