]> git.baikalelectronics.ru Git - kernel.git/commit
s390/fpu: allocate 'struct fpu' with the task_struct
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 1 Apr 2016 13:42:15 +0000 (15:42 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 21 Apr 2016 07:51:15 +0000 (09:51 +0200)
commitc60b6d1b072ed9b6e1d5cf00f0fc286bfb288e27
tree4c7ae317f66c97fe422485b7ec1981c804b0cb65
parent86b5ca9df90a380dc54d846933dcae6b13cf3260
s390/fpu: allocate 'struct fpu' with the task_struct

Analog to git commit 2cd74876033c416de4d433d2156f3b7f9484feaa
"x86/fpu, sched: Dynamically allocate 'struct fpu'"
move the struct fpu to the end of the struct thread_struct,
set CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT and add the
setup_task_size() function to calculate the correct size
fo the task struct.

For the performance_defconfig this increases the size of
struct task_struct from 7424 bytes to 7936 bytes (MACHINE_HAS_VX==1)
or 7552 bytes (MACHINE_HAS_VX==0). The dynamic allocation of the
struct fpu is removed. The slab cache uses an 8KB block for the
task struct in all cases, there is enough room for the struct fpu.
For MACHINE_HAS_VX==1 each task now needs 512 bytes less memory.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/Kconfig
arch/s390/include/asm/fpu/types.h
arch/s390/include/asm/processor.h
arch/s390/kernel/process.c
arch/s390/kernel/setup.c