If the first cmpxchg call succeeds, it is not necessary to use cpu_relax
before cmpxchg. So cpu_relax in a busy loop involving cmpxchg should go
after cmpxchg instead of before that. This patch fixes this in llist.
Signed-off-by: Huang Ying <ying.huang@intel.com> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andi Kleen <andi@firstfloor.org> Signed-off-by: Andrew Morton <>