Re: [PATCH RFC] reduce runqueue lock contention

From: Peter Zijlstra
Date: Thu Dec 02 2010 - 02:37:09 EST


On Wed, 2010-12-01 at 15:13 -0800, Frank Rowand wrote:
>
> If the task to be woken is on a run queue on a different cpu then use
> cmpxchg() to put it onto a pending try_to_wake_up list on the different
> cpu. Then send an interrupt to the different cpu to cause that cpu to
> call try_to_wake_up() for each process on the try_to_wake_up list.

Without having looked at the actual code, the described thing cannot
work, try_to_wake_up() has a return value that needs to be passed back.

Also, try_to_wake_up() does load-balancing, you really want to do that
before queueing it on a remote cpu.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/