diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-25 17:11:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-25 17:11:43 -0700 |
commit | f89eae4ee7e075e576bd4b4d2db901023421a3be (patch) | |
tree | 8dbd69cdc48c15f6b623e882b31092b7c451803f /include/asm-generic | |
parent | bdc6b758e443c21c39a14c075e5b7e01f095b37b (diff) | |
parent | b7e7ade34e6188bee2e3b0d42b51d25137d9e2a5 (diff) |
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; } |