summaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-05-26 02:11:43 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2016-05-26 02:11:43 +0200
commitf89eae4ee7e075e576bd4b4d2db901023421a3be (patch)
tree8dbd69cdc48c15f6b623e882b31092b7c451803f /include/asm-generic
parentMerge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/ke... (diff)
parentsched/core: Fix remote wakeups (diff)
downloadlinux-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.h4
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 &current_thread_info()->preempt_count;
}