linux-stable/arch
Dave Hansen 0c8c0f03e3 x86/fpu, sched: Dynamically allocate 'struct fpu'
The FPU rewrite removed the dynamic allocations of 'struct fpu'.
But, this potentially wastes massive amounts of memory (2k per
task on systems that do not have AVX-512 for instance).

Instead of having a separate slab, this patch just appends the
space that we need to the 'task_struct' which we dynamically
allocate already.  This saves from doing an extra slab
allocation at fork().

The only real downside here is that we have to stick everything
and the end of the task_struct.  But, I think the
BUILD_BUG_ON()s I stuck in there should keep that from being too
fragile.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Dave Hansen <dave@sr71.net>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1437128892-9831-2-git-send-email-mingo@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-07-18 03:42:35 +02:00
..
alpha
arc ARCv2: support HS38 releases 2015-07-13 13:33:23 +05:30
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-07-13 11:18:25 -07:00
arm64 ARM: SoC: fixes for v4.2-rc2 2015-07-11 10:20:36 -07:00
avr32
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-07-04 19:36:06 -07:00
c6x
cris cris: Replace do_posix_clock_monotonic_gettime() 2015-07-09 10:51:46 +02:00
frv Fix up implicit <module.h> users that will break later. 2015-07-02 10:25:22 -07:00
h8300
hexagon
ia64 remove some boot noise from a now-invalid check that pages are reserved 2015-07-02 14:46:15 -07:00
m32r
m68k m68k: enable PCI support for m5475evb defconfig 2015-07-13 09:34:40 +10:00
metag
microblaze
mips MIPS: O32: Use compat_sys_getsockopt. 2015-07-10 11:02:22 +02:00
mn10300 Replace module_init with equivalent device_initcall in non modules. 2015-07-02 10:30:48 -07:00
nios2 nios2 update for v4.2 2015-07-03 12:22:49 -07:00
openrisc
parisc parisc: Fix some PTE/TLB race conditions and optimize __flush_tlb_range based on timing results 2015-07-10 21:47:47 +02:00
powerpc powerpc/perf/24x7: Fix lockdep warning 2015-07-08 15:18:04 +10:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-07-15 13:12:44 -07:00
score
sh Replace module_init with equivalent device_initcall in non modules. 2015-07-02 10:30:48 -07:00
sparc
tile modpost: work correctly with tile coldtext sections 2015-07-08 18:53:49 -04:00
um
unicore32
x86 x86/fpu, sched: Dynamically allocate 'struct fpu' 2015-07-18 03:42:35 +02:00
xtensa Replace module_init with equivalent device_initcall in non modules. 2015-07-02 10:30:48 -07:00
.gitignore
Kconfig