in schedule(), switch_to() macro changes esp to the new process's stack. But, on exit frm schedule, how come it does not get overwritten with ebp-24, as the dissasembled code shows. The code was compiled without the -fomit-frame-pointer. pushl 508(%ecx) jmp __switch_to 1: popl %ebp popl %edi popl %esi jmp .L1180 .L1180: leal -24(%ebp),%esp popl %ebx popl %esi popl %edi movl %ebp,%esp popl %ebp ret - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/