Russell King
bac4e960b5
[ARM] barriers: improve xchg, bitops and atomic SMP barriers
...
Mathieu Desnoyers pointed out that the ARM barriers were lacking:
- cmpxchg, xchg and atomic add return need memory barriers on
architectures which can reorder the relative order in which memory
read/writes can be seen between CPUs, which seems to include recent
ARM architectures. Those barriers are currently missing on ARM.
- test_and_xxx_bit were missing SMP barriers.
So put these barriers in. Provide separate atomic_add/atomic_sub
operations which do not require barriers.
Reported-Reviewed-and-Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-05-28 19:39:27 +01:00
..
2009-03-31 13:05:36 +10:30
2009-05-17 16:22:46 +01:00
2009-05-05 09:22:26 +01:00
2009-05-28 19:39:27 +01:00
2009-05-28 19:39:27 +01:00
2009-05-28 19:39:27 +01:00
2009-03-19 16:20:24 +00:00
2009-04-21 13:41:47 -07:00
2009-03-19 16:20:24 +00:00
2009-05-15 15:38:26 +02:00
2009-03-19 16:20:24 +00:00
2009-05-16 19:55:56 +01:00
2009-03-19 16:20:24 +00:00
2009-03-30 10:40:12 +01:00
2009-03-19 16:20:24 +00:00
2009-04-24 08:36:41 -07:00
2009-05-18 17:43:16 +01:00
2009-04-07 08:31:10 -07:00
2009-03-19 16:20:24 +00:00
2009-03-19 16:20:24 +00:00
2009-05-10 10:46:45 -07:00
2009-03-19 16:20:24 +00:00
2009-03-19 16:20:24 +00:00
2009-05-22 17:05:53 -04:00
2009-03-24 22:47:45 +00:00
2009-05-18 11:25:08 +01:00
2009-03-19 16:20:24 +00:00
2009-05-22 17:05:53 -04:00
2009-05-22 18:15:49 +08:00
2009-04-21 13:41:47 -07:00
2009-05-22 17:05:53 -04:00
2009-04-16 12:57:15 +02:00
2009-04-16 12:57:13 +02:00
2009-04-16 13:03:56 +02:00
2009-04-21 13:41:47 -07:00
2009-04-21 13:41:47 -07:00
2009-04-24 09:56:16 -07:00
2009-05-16 08:28:17 -07:00
2009-05-22 17:05:53 -04:00
2009-03-19 16:20:24 +00:00
2009-05-23 11:16:05 +01:00
2009-05-17 17:11:35 +01:00
2009-03-19 16:20:24 +00:00
2009-03-08 12:35:36 +00:00
2008-11-28 15:36:49 +00:00
2009-05-15 15:13:25 +01:00
2009-05-01 12:28:16 +01:00
2009-04-17 12:42:24 +01:00
2008-11-27 12:38:00 +00:00
2009-03-05 12:00:59 +00:00
2009-05-01 12:28:16 +01:00
2009-04-15 14:46:03 +01:00
2009-04-26 13:56:01 +01:00
2009-03-19 16:20:24 +00:00
2009-05-18 17:43:06 +01:00
2009-03-19 16:20:24 +00:00
2009-05-02 16:40:20 -07:00
2009-05-15 12:49:14 +01:00
2009-03-28 14:03:14 -07:00
2009-04-07 08:31:11 -07:00
2009-05-05 09:37:08 +02:00
2009-05-16 08:28:16 -07:00
2009-04-24 08:36:41 -07:00
2009-04-27 11:45:16 +08:00
2009-05-15 15:21:57 +01:00
2009-05-15 15:13:24 +01:00
2009-05-15 15:13:18 +01:00
2009-03-23 16:12:37 -04:00
2009-04-01 22:17:50 +01:00
2009-05-18 11:22:24 +01:00
2009-02-27 20:57:46 +00:00
2009-03-26 23:10:11 +00:00