diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-26 02:11:43 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-26 02:11:43 +0200 |
commit | f89eae4ee7e075e576bd4b4d2db901023421a3be (patch) | |
tree | 8dbd69cdc48c15f6b623e882b31092b7c451803f /include/asm-generic | |
parent | Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/ke... (diff) | |
parent | sched/core: Fix remote wakeups (diff) | |
download | linux-f89eae4ee7e075e576bd4b4d2db901023421a3be.tar.xz linux-f89eae4ee7e075e576bd4b4d2db901023421a3be.zip |
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar:
"Two fixes: one for a lost wakeup, the other to fix the compiler
optimizing out preempt operations on ARM64 (and possibly other non-x86
architectures)"
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/core: Fix remote wakeups
sched/preempt: Fix preempt_count manipulations
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/preempt.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-generic/preempt.h b/include/asm-generic/preempt.h index 5d8ffa3e6f8c..c1cde3577551 100644 --- a/include/asm-generic/preempt.h +++ b/include/asm-generic/preempt.h @@ -7,10 +7,10 @@ static __always_inline int preempt_count(void) { - return current_thread_info()->preempt_count; + return READ_ONCE(current_thread_info()->preempt_count); } -static __always_inline int *preempt_count_ptr(void) +static __always_inline volatile int *preempt_count_ptr(void) { return ¤t_thread_info()->preempt_count; } |