Files
linux/include/linux
Frederic Weisbecker 5529578a27 locking/atomic, sched: Unexport fetch_or()
This patch functionally reverts:

  5fd7a09cfb ("atomic: Export fetch_or()")

During the merge Linus observed that the generic version of fetch_or()
was messy:

  " This makes the ugly "fetch_or()" macro that the scheduler used
    internally a new generic helper, and does a bad job at it. "

  e23604edac Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Now that we have introduced atomic_fetch_or(), fetch_or() is only used
by the scheduler in order to deal with thread_info flags which type
can vary across architectures.

Lets confine fetch_or() back to the scheduler so that we encourage
future users to use the more robust and well typed atomic_t version
instead.

While at it, fetch_or() gets robustified, pasting improvements from a
previous patch by Ingo Molnar that avoids needless expression
re-evaluations in the loop.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1458830281-4255-4-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-03-29 11:52:11 +02:00
..
2016-03-25 18:51:55 +01:00
2016-03-04 23:50:27 -06:00
2015-12-23 08:37:10 -07:00
2016-02-11 10:07:18 -05:00
2016-03-15 16:55:16 -07:00
2015-12-22 09:38:34 -07:00
2016-03-20 09:34:02 -06:00
2015-12-06 12:46:31 +01:00
2016-03-08 15:28:31 -05:00
2016-03-11 21:19:16 +08:00
2016-02-16 13:04:58 -05:00
2016-02-26 13:28:35 +02:00
2015-12-28 13:41:50 +01:00
2016-01-15 17:56:32 -08:00
2015-11-25 09:22:00 -07:00
2016-03-11 14:58:58 -05:00
2015-10-23 05:44:28 -07:00
2016-02-11 09:59:22 -05:00
2016-03-22 15:36:02 -07:00
2015-12-14 10:03:46 +01:00
2016-01-28 14:19:12 -08:00
2016-03-25 16:37:42 -07:00
2016-03-22 15:36:02 -07:00
2016-02-16 13:04:58 -05:00
2016-03-22 15:36:02 -07:00
2016-01-15 17:56:32 -08:00
2016-03-09 15:43:42 -08:00
2016-01-15 17:56:32 -08:00
2015-10-27 18:55:31 -07:00
2016-03-25 16:37:42 -07:00
2016-03-05 12:24:06 -08:00
2016-03-09 16:36:13 -05:00
2016-03-17 14:57:16 -04:00
2016-02-08 15:20:01 -05:00
2016-02-16 13:04:58 -05:00
2016-02-11 18:35:48 -08:00
2016-02-11 18:35:48 -08:00
2016-03-14 15:43:11 -04:00
2016-02-10 01:11:54 +01:00
2016-03-09 15:15:32 -08:00
2016-02-16 13:04:58 -05:00
2015-10-22 08:59:18 -07:00
2016-03-17 15:09:34 -07:00
2016-03-09 16:36:13 -05:00
2015-11-16 09:23:47 +01:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-01-10 22:13:15 -05:00
2016-01-04 16:11:11 -05:00
2016-03-25 16:37:42 -07:00
2016-03-25 16:37:42 -07:00
2016-03-25 16:37:42 -07:00
2016-03-17 15:09:34 -07:00
2016-03-18 14:10:57 +08:00
2016-01-28 14:13:44 -08:00
2015-11-23 09:44:58 +01:00
2016-02-22 16:10:08 -07:00
2016-01-14 16:00:49 -08:00
2015-12-03 07:24:29 -08:00