Re: [RFC][PATCH 1/3] sched: Provide delayed wakeup list

Peter Zijlstra
2011-09-14T13:50:42Z

On Wed, 2011-09-14 at 15:30 +0200, Peter Zijlstra wrote:
> + if (cmpxchg(&n->next, 0, n) != 0) {
> + /* It was already queued, drop the extra ref and we're done. */
> + put_task_struct(p);
> + return;
> + }
> +
> + /*
> + * The head is context local, there can be no concurrency.
> + */
> + n->next = head->first;

That could of course be folded into one op..