llist: Move cpu_relax() to after the cmpxchg()
authorHuang Ying <ying.huang@intel.com>
Thu, 8 Sep 2011 06:00:44 +0000 (14:00 +0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 4 Oct 2011 10:43:39 +0000 (12:43 +0200)
commita3127336b71f6833d1483c856dce91fe558dc3a9
treec025279c450994f25661c2ab004f0be98997cf8a
parent2c30245c65e8ebc3080b75ce65572ab8140bad0b
llist: Move cpu_relax() to after the cmpxchg()

If in llist_add()/etc. functions the first cmpxchg() call succeeds, it is
not necessary to use cpu_relax() before the cmpxchg(). So cpu_relax() in
a busy loop involving cmpxchg() should go after cmpxchg() instead of before
that.

This patch fixes this for all involved llist functions.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1315461646-1379-4-git-send-email-ying.huang@intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/llist.h
lib/llist.c