Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4616e0e authored by Ruchi Kandoi's avatar Ruchi Kandoi
Browse files

Revert "locking: Remove deprecated smp_mb__() barriers"

This reverts commit 2e39465a.
parent bf474330
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -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
+20 −0
Original line number Diff line number Diff line
@@ -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);					\
+16 −0
Original line number Diff line number Diff line
@@ -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;