Peter Zijlstra
febdbfe8a9
arch: Prepare for smp_mb__{before,after}_atomic()
...
Since the smp_mb__{before,after}*() ops are fundamentally dependent on
how an arch can implement atomics it doesn't make sense to have 3
variants of them. They must all be the same.
Furthermore, the 3 variants suggest they're only valid for those 3
atomic ops, while we have many more where they could be applied.
So move away from
smp_mb__{before,after}_{atomic,clear}_{dec,inc,bit}() and reduce the
interface to just the two: smp_mb__{before,after}_atomic().
This patch prepares the way by introducing default implementations in
asm-generic/barrier.h that default to a full barrier and providing
__deprecated inlines for the previous 6 barriers if they're not
provided by the arch.
This should allow for a mostly painless transition (lots of deprecated
warns in the interim).
Signed-off-by: Peter Zijlstra <peterz@infradead.org >
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Link: http://lkml.kernel.org/n/tip-wr59327qdyi9mbzn6x937s4e@git.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de >
Cc: "Chen, Gong" <gong.chen@linux.intel.com >
Cc: John Sullivan <jsrhbz@kanargh.force9.co.uk >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Mauro Carvalho Chehab <m.chehab@samsung.com >
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com >
Cc: "Theodore Ts'o" <tytso@mit.edu >
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2014-04-18 11:40:30 +02:00
..
2014-03-07 09:18:23 +01:00
2014-04-04 21:08:20 -07:00
2014-04-05 15:46:37 -07:00
2014-04-04 21:07:28 -07:00
2014-04-03 16:21:12 -07:00
2014-03-19 14:41:58 +09:00
2014-03-28 20:42:01 +01:00
2014-02-19 14:58:17 +01:00
2014-04-09 08:45:40 -07:00
2014-03-30 13:25:19 -07:00
2014-03-08 23:32:26 -08:00
2014-04-10 09:06:10 -07:00
2014-03-28 16:29:35 -04:00
2014-03-07 11:40:04 -08:00
2014-04-09 08:39:39 -07:00
2014-03-25 23:31:26 -07:00
2014-04-08 10:56:12 +02:00
2014-03-09 12:45:08 +05:30
2014-04-10 09:06:10 -07:00
2013-09-10 13:03:41 -07:00
2014-03-26 16:58:11 +00:00
2014-02-22 18:14:13 +01:00
2014-04-02 16:23:38 -07:00
2014-01-24 22:39:54 +01:00
2014-04-12 17:31:22 -07:00
2014-04-02 20:53:45 -07:00
2014-04-01 15:14:04 -07:00
2012-10-13 10:46:48 +01:00
2014-02-22 17:13:01 -05:00
2013-07-30 11:53:12 -04:00
2013-05-29 12:57:34 -07:00
2012-02-09 09:04:23 -08:00
2013-09-24 10:35:17 +01:00
2013-07-03 16:07:42 -07:00
2013-12-09 15:37:58 -05:00
2014-04-18 11:40:30 +02:00
2012-03-16 10:38:24 -04:00
2014-04-10 17:51:29 -04:00
2010-12-06 15:58:43 -05:00
2014-04-03 16:20:49 -07:00
2014-04-03 16:21:09 -07:00
2012-09-10 11:13:16 -07:00
2011-03-11 14:25:50 +00:00
2014-04-07 16:36:05 -07:00
2014-04-12 14:49:50 -07:00
2011-08-03 11:30:42 -04:00
2014-04-18 11:40:30 +02:00
2008-06-06 11:29:10 -07:00
2014-04-09 21:54:06 -06:00
2014-03-13 09:38:42 -06:00
2014-04-01 19:19:15 -07:00
2014-04-12 14:49:50 -07:00
2013-11-08 09:04:30 -07:00
2014-04-01 23:19:19 -04:00
2011-01-13 08:03:17 -08:00
2014-03-29 09:15:54 -04:00
2014-03-24 17:10:07 -07:00
2014-02-24 17:13:55 -08:00
2013-12-04 17:19:44 +01:00
2013-03-20 13:23:21 -04:00
2014-01-21 16:19:48 -08:00
2014-04-02 12:51:41 -07:00
2014-04-09 13:44:35 -07:00
2014-04-09 13:44:35 -07:00
2013-11-15 09:32:21 +09:00
2014-01-10 16:27:36 -08:00
2008-04-30 08:29:54 -07:00
2010-08-10 13:47:42 -07:00
2013-05-20 12:27:59 -07:00
2013-12-04 09:33:34 -04:00
2011-09-23 12:05:29 +05:30
2013-09-13 15:09:52 +02:00
2014-04-07 14:55:46 -07:00
2014-04-07 14:43:50 +02:00
2014-03-11 11:52:47 +01:00
2014-04-03 16:20:58 -07:00
2014-03-13 15:56:44 +01:00
2014-04-07 16:36:06 -07:00
2014-04-03 16:21:05 -07:00
2012-03-24 10:08:39 -07:00
2012-10-13 10:46:48 +01:00
2009-09-10 10:00:05 -07:00
2014-04-01 17:08:43 +02:00
2013-11-15 16:47:22 -08:00
2014-03-27 16:56:24 -04:00
2014-04-01 16:28:19 -07:00
2012-10-22 16:50:13 -07:00
2011-06-10 14:55:36 +02:00
2014-01-21 16:19:41 -08:00
2014-03-06 20:41:15 +05:30
2007-02-09 17:39:36 -05:00
2014-03-24 14:05:08 +00:00
2010-07-28 09:59:01 -04:00
2013-06-28 16:04:36 +02:00
2013-01-17 12:19:09 -08:00
2011-11-29 12:46:19 -05:00
2013-03-03 23:59:59 -08:00
2013-12-11 18:06:47 +01:00
2014-03-05 18:15:37 +00:00
2014-02-24 14:46:38 -08:00
2013-11-09 00:16:23 -05:00
2014-04-03 16:21:06 -07:00
2013-05-07 18:38:27 -07:00
2013-03-27 13:48:25 +01:00
2014-03-19 14:41:58 +09:00
2014-02-27 19:56:09 +09:00
2013-12-18 10:56:13 +10:00
2014-04-01 23:19:14 -04:00
2011-01-09 15:42:55 -08:00
2014-03-10 11:44:42 -04:00
2014-04-14 16:26:47 -04:00
2009-06-18 19:50:21 +08:00
2014-03-07 10:19:57 -05:00
2013-02-23 17:50:12 -08:00
2012-10-13 10:46:48 +01:00
2014-02-28 15:12:09 -08:00
2013-06-19 20:30:32 -07:00
2007-05-08 11:15:31 -07:00
2009-12-17 10:58:17 -05:00
2014-04-12 14:49:50 -07:00
2013-09-27 18:40:25 +01:00
2012-10-13 10:46:48 +01:00
2014-04-03 16:20:51 -07:00
2013-06-29 12:57:13 +04:00
2014-04-08 20:43:28 -04:00
2014-03-11 22:52:43 -04:00
2014-03-03 11:32:08 +01:00
2009-06-18 13:04:05 -07:00
2014-01-23 16:36:52 -08:00
2014-03-10 17:26:19 -07:00
2013-12-17 14:27:17 -05:00
2013-10-11 17:21:14 +11:00
2014-03-13 12:48:32 +01:00
2013-04-30 10:09:06 +02:00
2014-04-02 16:24:28 -07:00
2014-04-01 19:06:50 +02:00
2012-10-13 10:46:48 +01:00
2014-04-04 09:12:49 +02:00
2014-03-20 12:35:45 +01:00
2014-03-04 07:55:47 -08:00
2014-04-03 16:20:59 -07:00
2011-05-25 14:15:12 +02:00
2014-03-08 22:15:52 -08:00
2014-03-05 17:16:45 +01:00
2014-04-07 16:36:07 -07:00
2014-03-20 11:53:20 -04:00
2012-10-13 10:46:48 +01:00
2014-03-26 16:41:28 -04:00
2013-07-23 16:52:47 -07:00
2008-08-02 18:36:10 +01:00
2013-03-27 13:48:25 +01:00
2008-07-09 12:09:28 -04:00
2013-12-11 14:47:40 -05:00
2014-03-07 11:41:32 -05:00
2011-01-31 21:17:41 -08:00
2012-11-10 00:40:24 -08:00
2014-03-24 14:07:31 +00:00
2012-10-09 16:22:39 +09:00
2014-04-07 16:36:11 -07:00
2012-03-20 12:47:48 +01:00
2014-02-26 14:42:09 -07:00
2014-03-04 17:51:06 +01:00
2012-12-09 00:20:28 -05:00
2014-02-25 15:25:45 -08:00
2014-04-17 12:30:40 -07:00
2014-04-17 12:23:07 -07:00
2014-02-21 21:49:07 +01:00
2014-03-14 13:43:33 +01:00
2014-03-13 12:11:00 +10:30
2014-03-31 00:45:09 -04:00
2007-07-31 15:39:40 -07:00
2012-10-13 10:46:48 +01:00
2014-04-01 11:22:57 -07:00
2014-04-06 09:38:07 -07:00
2012-10-13 10:46:48 +01:00
2014-03-08 22:08:29 -08:00
2014-03-06 16:30:46 +01:00
2013-09-25 17:17:01 +01:00
2011-01-24 14:45:11 +10:30
2014-04-03 16:20:50 -07:00
2013-04-30 17:04:06 -07:00
2010-03-15 15:29:39 +01:00
2014-04-03 16:21:04 -07:00
2013-05-16 07:55:07 -07:00
2014-03-21 13:43:13 +01:00
2011-09-16 19:20:20 -04:00
2014-04-07 16:36:14 -07:00
2014-03-19 16:30:23 -04:00
2012-07-23 13:54:52 +01:00
2014-04-03 16:21:01 -07:00
2010-01-12 21:02:00 -08:00
2014-03-31 14:13:25 -07:00
2013-02-02 00:01:15 +01:00
2014-03-18 19:19:41 -04:00
2014-02-28 15:36:37 -08:00
2014-03-12 00:16:56 +00:00
2014-04-07 16:36:13 -07:00
2013-11-13 12:09:06 +09:00
2014-04-07 16:35:54 -07:00
2012-06-25 11:53:47 +02:00
2014-01-21 16:19:49 -08:00
2014-04-02 20:53:45 -07:00
2014-04-13 13:28:13 -07:00
2014-04-12 12:38:53 -07:00
2014-04-07 16:35:55 -07:00
2014-04-03 16:21:01 -07:00
2014-04-09 13:44:35 -07:00
2014-04-06 09:38:07 -07:00
2012-09-28 14:31:03 +09:30
2014-03-24 12:21:00 +10:30
2014-04-01 23:19:08 -04:00
2014-03-04 13:51:06 -05:00
2014-03-11 12:14:56 +01:00
2014-04-01 23:19:10 -04:00
2014-01-14 15:15:25 -08:00
2014-04-03 14:31:34 -04:00
2014-04-03 14:29:12 -04:00
2013-10-14 17:15:48 +02:00
2014-03-29 17:58:37 -04:00
2014-03-17 15:14:16 -04:00
2014-03-17 15:15:21 -04:00
2014-04-03 16:21:26 -07:00
2014-04-01 16:25:51 -04:00
2013-04-29 15:54:36 -07:00
2014-04-07 10:59:19 -07:00
2014-04-11 16:45:59 -07:00
2014-02-05 10:04:37 -06:00
2014-03-11 17:26:47 +00:00
2014-03-07 16:02:46 +01:00
2014-03-10 22:42:28 -07:00
2014-03-11 17:27:12 +00:00
2014-04-02 14:27:15 -07:00
2014-04-04 00:31:49 +01:00
2013-11-13 12:09:04 +09:00
2013-03-29 17:54:33 -07:00
2013-10-30 12:02:58 +08:00
2014-04-03 16:21:04 -07:00
2014-04-03 16:21:00 -07:00
2014-01-23 16:36:55 -08:00
2012-10-13 10:46:48 +01:00
2014-04-01 18:49:04 -07:00
2014-03-19 15:11:19 -06:00
2014-01-23 20:17:18 +00:00
2014-04-07 16:36:14 -07:00
2014-03-20 13:43:40 +01:00
2014-02-17 16:40:09 -05:00
2013-10-24 23:43:29 -04:00
2013-07-03 16:08:03 -07:00
2014-04-12 14:49:50 -07:00
2014-03-02 00:18:15 +01:00
2014-03-20 13:25:54 +01:00
2012-10-13 10:46:48 +01:00
2013-08-19 21:22:34 -07:00
2014-04-03 16:21:08 -07:00
2014-04-01 16:43:18 -04:00
2014-03-21 14:21:13 -04:00
2014-03-21 18:26:03 +01:00
2014-04-03 16:20:54 -07:00
2014-04-03 16:21:01 -07:00
2010-02-08 18:19:41 -06:00
2014-03-19 22:24:08 -04:00
2012-10-05 09:26:01 -07:00
2014-03-31 11:05:24 -07:00
2014-03-20 17:12:25 -07:00
2014-03-20 17:12:25 -07:00
2014-04-16 08:56:09 +02:00
2014-04-01 16:13:21 -07:00
2012-03-24 10:08:39 -07:00
2014-04-07 16:35:54 -07:00
2014-03-09 19:53:45 +01:00
2014-04-07 16:36:07 -07:00
2014-03-20 22:09:09 -07:00
2012-07-04 11:51:59 +03:00
2007-05-02 11:56:33 +01:00
2013-12-17 21:19:08 -08:00
2014-04-12 12:38:53 -07:00
2013-06-17 16:38:57 -07:00
2012-10-13 10:46:48 +01:00
2014-03-31 00:45:09 -04:00
2014-04-01 17:08:43 +02:00
2013-07-09 10:33:28 -07:00
2014-02-28 16:27:18 -08:00
2013-10-16 13:16:19 -07:00
2014-03-21 04:12:33 +09:00
2014-03-17 16:20:49 -07:00
2010-10-31 10:40:39 -04:00
2014-04-03 16:21:00 -07:00
2013-09-10 18:56:32 -04:00
2014-04-02 20:53:45 -07:00
2014-04-13 13:28:13 -07:00
2014-04-07 16:36:13 -07:00
2014-02-24 14:47:15 -08:00
2005-04-16 15:20:36 -07:00
2013-12-16 11:36:13 +01:00
2014-03-19 08:58:30 +00:00
2012-02-24 10:05:59 +01:00
2013-10-09 12:40:45 +02:00
2012-12-17 17:15:17 -08:00
2013-06-21 00:35:12 +02:00
2014-04-03 16:21:01 -07:00
2014-03-26 16:49:31 -04:00
2012-02-10 11:42:25 -08:00
2014-04-12 13:06:10 -07:00
2014-04-06 09:38:07 -07:00
2012-09-13 16:47:34 +02:00
2010-03-30 22:02:32 +09:00
2013-12-07 01:03:14 +01:00
2014-02-26 17:08:40 -05:00
2013-05-14 20:54:06 +02:00
2013-04-04 13:18:31 -07:00
2012-08-21 16:28:31 +02:00
2014-04-07 16:36:13 -07:00
2014-02-23 09:04:27 -08:00
2010-11-29 08:55:25 +11:00
2013-03-15 00:36:09 -04:00
2014-04-09 10:12:11 -04:00
2013-02-04 15:40:28 -08:00
2014-04-02 20:53:45 -07:00
2012-12-11 17:22:27 -08:00
2014-03-14 22:41:36 -04:00
2014-04-01 23:19:21 -04:00
2014-03-18 16:39:34 -04:00
2014-03-04 15:38:16 -08:00
2014-04-01 17:06:09 -07:00
2011-06-15 20:04:00 -07:00
2014-02-26 11:38:39 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2014-04-03 16:21:04 -07:00
2014-04-07 16:35:53 -07:00
2013-07-09 10:33:21 -07:00
2014-04-07 16:36:14 -07:00
2014-04-07 11:24:06 -07:00
2012-10-13 10:46:48 +01:00
2014-02-28 14:08:26 -05:00
2014-04-01 11:00:07 -07:00
2014-04-07 16:35:57 -07:00