percpu-rw-semaphores: use light/heavy barriers
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 22 Oct 2012 23:37:47 +0000 (19:37 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 28 Oct 2012 17:59:36 +0000 (10:59 -0700)
This patch introduces new barrier pair light_mb() and heavy_mb() for
percpu rw semaphores.

This patch fixes a bug in percpu-rw-semaphores where a barrier was
missing in percpu_up_write.

This patch improves performance on the read path of
percpu-rw-semaphores: on non-x86 cpus, there was a smp_mb() in
percpu_up_read. This patch changes it to a compiler barrier and removes
the "#if defined(X86) ..." condition.

From: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

No differences found