Re: schedule() && prev/current (Was: [PATCH 3/3] Makeget_current() __attribute__((const)))

From: Peter Zijlstra
Date: Wed May 19 2010 - 02:21:58 EST

On Tue, 2010-05-18 at 23:22 +0200, Oleg Nesterov wrote:

> And, looking at this patch I think that schedule() can be simplified
> a little bit.
> "sched: Reassign prev and switch_count when reacquire_kernel_lock() fail"
> commit 6d558c3ac9b6508d26fd5cadccce51fc9d726b1c says:
> Assume A->B schedule is processing,
> ...
> Then on B's context,
> ...
> prev and switch_count are related to A
> How so? switch_count - yes, we should change it. But prev must be
> equal to B, and it must be equal to current. When we return from
> switch_to() registers/stack should be restored correctly, so we
> can do

What if schedule() got called at a different stack depth than we are

I don't think we can assume anything about the stack context we just
switched to.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at