diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 19:21:37 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-29 19:21:37 +0400 |
commit | 916bb6d76dfa49b540baa3f7262792d1de7f1c24 (patch) | |
tree | 8548db9da607ad8616125130969e7c2165ad00d5 /include | |
parent | d0b8883800c913f5cc0eb273c052bcac94ad44d8 (diff) | |
parent | 2c522836627c6e78660f8bd52cdb4cdcb75e3e3c (diff) | |
download | linux-916bb6d76dfa49b540baa3f7262792d1de7f1c24.tar.xz |
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking changes from Ingo Molnar:
"The most noticeable change are mutex speedups from Waiman Long, for
higher loads. These scalability changes should be most noticeable on
larger server systems.
There are also cleanups, fixes and debuggability improvements."
* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
lockdep: Consolidate bug messages into a single print_lockdep_off() function
lockdep: Print out additional debugging advice when we hit lockdep BUGs
mutex: Back out architecture specific check for negative mutex count
mutex: Queue mutex spinners with MCS lock to reduce cacheline contention
mutex: Make more scalable by doing less atomic operations
mutex: Move mutex spinning code from sched/core.c back to mutex.c
locking/rtmutex/tester: Set correct permissions on sysfs files
lockdep: Remove unnecessary 'hlock_next' variable
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mutex.h | 3 | ||||
-rw-r--r-- | include/linux/sched.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index 9121595a8ebf..433da8a1a426 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -53,6 +53,9 @@ struct mutex { #if defined(CONFIG_DEBUG_MUTEXES) || defined(CONFIG_SMP) struct task_struct *owner; #endif +#ifdef CONFIG_MUTEX_SPIN_ON_OWNER + void *spin_mlock; /* Spinner MCS lock */ +#endif #ifdef CONFIG_DEBUG_MUTEXES const char *name; void *magic; diff --git a/include/linux/sched.h b/include/linux/sched.h index e692a022527b..2d02c76a01be 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -321,7 +321,6 @@ extern signed long schedule_timeout_killable(signed long timeout); extern signed long schedule_timeout_uninterruptible(signed long timeout); asmlinkage void schedule(void); extern void schedule_preempt_disabled(void); -extern int mutex_spin_on_owner(struct mutex *lock, struct task_struct *owner); struct nsproxy; struct user_namespace; |