Loading include/linux/atomic.h +36 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,42 @@ #define _LINUX_ATOMIC_H #include <asm/atomic.h> /* * Provide __deprecated wrappers for the new interface, avoid flag day changes. * We need the ugly external functions to break header recursion hell. */ #ifndef smp_mb__before_atomic_inc static inline void __deprecated smp_mb__before_atomic_inc(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_atomic_inc static inline void __deprecated smp_mb__after_atomic_inc(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif #ifndef smp_mb__before_atomic_dec static inline void __deprecated smp_mb__before_atomic_dec(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_atomic_dec static inline void __deprecated smp_mb__after_atomic_dec(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif /** * atomic_add_unless - add unless the number is already a given value * @v: pointer of type atomic_t Loading include/linux/bitops.h +20 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,26 @@ extern unsigned long __sw_hweight64(__u64 w); */ #include <asm/bitops.h> /* * Provide __deprecated wrappers for the new interface, avoid flag day changes. * We need the ugly external functions to break header recursion hell. */ #ifndef smp_mb__before_clear_bit static inline void __deprecated smp_mb__before_clear_bit(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_clear_bit static inline void __deprecated smp_mb__after_clear_bit(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif #define for_each_set_bit(bit, addr, size) \ for ((bit) = find_first_bit((addr), (size)); \ (bit) < (size); \ Loading kernel/sched/core.c +16 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,22 @@ #define CREATE_TRACE_POINTS #include <trace/events/sched.h> #ifdef smp_mb__before_atomic void __smp_mb__before_atomic(void) { smp_mb__before_atomic(); } EXPORT_SYMBOL(__smp_mb__before_atomic); #endif #ifdef smp_mb__after_atomic void __smp_mb__after_atomic(void) { smp_mb__after_atomic(); } EXPORT_SYMBOL(__smp_mb__after_atomic); #endif void start_bandwidth_timer(struct hrtimer *period_timer, ktime_t period) { unsigned long delta; Loading Loading
include/linux/atomic.h +36 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,42 @@ #define _LINUX_ATOMIC_H #include <asm/atomic.h> /* * Provide __deprecated wrappers for the new interface, avoid flag day changes. * We need the ugly external functions to break header recursion hell. */ #ifndef smp_mb__before_atomic_inc static inline void __deprecated smp_mb__before_atomic_inc(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_atomic_inc static inline void __deprecated smp_mb__after_atomic_inc(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif #ifndef smp_mb__before_atomic_dec static inline void __deprecated smp_mb__before_atomic_dec(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_atomic_dec static inline void __deprecated smp_mb__after_atomic_dec(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif /** * atomic_add_unless - add unless the number is already a given value * @v: pointer of type atomic_t Loading
include/linux/bitops.h +20 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,26 @@ extern unsigned long __sw_hweight64(__u64 w); */ #include <asm/bitops.h> /* * Provide __deprecated wrappers for the new interface, avoid flag day changes. * We need the ugly external functions to break header recursion hell. */ #ifndef smp_mb__before_clear_bit static inline void __deprecated smp_mb__before_clear_bit(void) { extern void __smp_mb__before_atomic(void); __smp_mb__before_atomic(); } #endif #ifndef smp_mb__after_clear_bit static inline void __deprecated smp_mb__after_clear_bit(void) { extern void __smp_mb__after_atomic(void); __smp_mb__after_atomic(); } #endif #define for_each_set_bit(bit, addr, size) \ for ((bit) = find_first_bit((addr), (size)); \ (bit) < (size); \ Loading
kernel/sched/core.c +16 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,22 @@ #define CREATE_TRACE_POINTS #include <trace/events/sched.h> #ifdef smp_mb__before_atomic void __smp_mb__before_atomic(void) { smp_mb__before_atomic(); } EXPORT_SYMBOL(__smp_mb__before_atomic); #endif #ifdef smp_mb__after_atomic void __smp_mb__after_atomic(void) { smp_mb__after_atomic(); } EXPORT_SYMBOL(__smp_mb__after_atomic); #endif void start_bandwidth_timer(struct hrtimer *period_timer, ktime_t period) { unsigned long delta; Loading