mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar:
"The main changes in this cycle are:
- big rtmutex and futex cleanup and robustification from Thomas
Gleixner
- mutex optimizations and refinements from Jason Low
- arch_mutex_cpu_relax() removal and related cleanups
- smaller lockdep tweaks"
* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
arch, locking: Ciao arch_mutex_cpu_relax()
locking/lockdep: Only ask for /proc/lock_stat output when available
locking/mutexes: Optimize mutex trylock slowpath
locking/mutexes: Try to acquire mutex only if it is unlocked
locking/mutexes: Delete the MUTEX_SHOW_NO_WAITER macro
locking/mutexes: Correct documentation on mutex optimistic spinning
rtmutex: Make the rtmutex tester depend on BROKEN
futex: Simplify futex_lock_pi_atomic() and make it more robust
futex: Split out the first waiter attachment from lookup_pi_state()
futex: Split out the waiter check from lookup_pi_state()
futex: Use futex_top_waiter() in lookup_pi_state()
futex: Make unlock_pi more robust
rtmutex: Avoid pointless requeueing in the deadlock detection chain walk
rtmutex: Cleanup deadlock detector debug logic
rtmutex: Confine deadlock logic to futex
rtmutex: Simplify remove_waiter()
rtmutex: Document pi chain walk
rtmutex: Clarify the boost/deboost part
rtmutex: No need to keep task ref for lock owner check
rtmutex: Simplify and document try_to_take_rtmutex()
...
This commit is contained in:
commit
8efb90cf1e
48 changed files with 707 additions and 425 deletions
|
|
@ -176,8 +176,4 @@ extern void mutex_unlock(struct mutex *lock);
|
|||
|
||||
extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock);
|
||||
|
||||
#ifndef arch_mutex_cpu_relax
|
||||
# define arch_mutex_cpu_relax() cpu_relax()
|
||||
#endif
|
||||
|
||||
#endif /* __LINUX_MUTEX_H */
|
||||
|
|
|
|||
|
|
@ -90,11 +90,9 @@ extern void __rt_mutex_init(struct rt_mutex *lock, const char *name);
|
|||
extern void rt_mutex_destroy(struct rt_mutex *lock);
|
||||
|
||||
extern void rt_mutex_lock(struct rt_mutex *lock);
|
||||
extern int rt_mutex_lock_interruptible(struct rt_mutex *lock,
|
||||
int detect_deadlock);
|
||||
extern int rt_mutex_lock_interruptible(struct rt_mutex *lock);
|
||||
extern int rt_mutex_timed_lock(struct rt_mutex *lock,
|
||||
struct hrtimer_sleeper *timeout,
|
||||
int detect_deadlock);
|
||||
struct hrtimer_sleeper *timeout);
|
||||
|
||||
extern int rt_mutex_trylock(struct rt_mutex *lock);
|
||||
|
||||
|
|
|
|||
|
|
@ -164,8 +164,6 @@ static inline unsigned read_seqcount_begin(const seqcount_t *s)
|
|||
static inline unsigned raw_seqcount_begin(const seqcount_t *s)
|
||||
{
|
||||
unsigned ret = ACCESS_ONCE(s->sequence);
|
||||
|
||||
seqcount_lockdep_reader_access(s);
|
||||
smp_rmb();
|
||||
return ret & ~1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue