kernel_optimize_test/arch/um/os-Linux
Jeff Dike 75e29b18d9 [PATCH] uml: stack usage reduction
The KSTK_* macros used an inordinate amount of stack.  In order to overcome
an impedance mismatch between their interface, which just returns a single
register value, and the interface of get_thread_regs, which took a full
pt_regs, the implementation created an on-stack pt_regs, filled it in, and
returned one field.  do_task_stat calls KSTK_* twice, resulting in two
local pt_regs, blowing out the stack.

This patch changes the interface (and name) of get_thread_regs to just
return a single register from a jmp_buf.

The include of archsetjmp.h" in registers.h to get the definition of
jmp_buf exposed a bogus include of <setjmp.h> in start_up.c.  <setjmp.h>
shouldn't be used anywhere any more since UML uses the klibc
setjmp/longjmp.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-26 08:49:09 -07:00
..
drivers [PATCH] uml: fix format errors 2006-04-11 06:18:36 -07:00
include
skas [PATCH] uml: timer cleanups 2006-09-26 08:49:08 -07:00
sys-i386 [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
sys-x86_64 [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
aio.c [PATCH] uml: Formatting changes 2006-01-06 08:33:45 -08:00
elf_aux.c [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00
file.c [PATCH] uml: add some EINTR protection 2006-07-10 13:24:24 -07:00
helper.c [PATCH] uml: Fix handling of failed execs of helpers 2006-09-26 08:49:06 -07:00
irq.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
main.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
Makefile [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
mem.c [PATCH] uml: Use ARRAY_SIZE more assiduously 2006-09-26 08:49:05 -07:00
process.c [PATCH] uml: Move signal handlers to arch code 2006-09-26 08:49:07 -07:00
sigio.c [PATCH] uml: SIGIO cleanups 2006-09-26 08:49:07 -07:00
signal.c [PATCH] uml: Remove unused variable 2006-09-26 08:49:08 -07:00
start_up.c [PATCH] uml: stack usage reduction 2006-09-26 08:49:09 -07:00
time.c [PATCH] uml: timer cleanups 2006-09-26 08:49:08 -07:00
tls.c [PATCH] uml: check for differences in host support 2006-03-31 12:18:52 -08:00
trap.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
tt.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00
tty_log.c [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
tty.c
uaccess.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00
umid.c [PATCH] uml: rename and improve actually_do_remove() 2006-07-01 09:56:03 -07:00
user_syms.c [PATCH] uml: export symbols added by GCC hardened 2006-05-01 18:17:45 -07:00
util.c [PATCH] uml: Use klibc setjmp/longjmp 2006-09-26 08:49:05 -07:00