in arch/i386/kernel/smpboot.c: stack_start.esp = (void *) (1024 + PAGE_SIZE + (char *)idle); This causes problems when I switch to 4k stacks? What is supposed to be going on here? Why point esp into the middle of the stack? If you wanted to do that, why not just use PAGE_SIZE>>2? In any case, I think THREAD_SIZE needs to be here instead of PAGE_SIZE. -- Dave Hansen haveblue@us.ibm.com