diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 19:43:21 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-07-22 19:43:21 -0400 |
| commit | 75b56ec294b074d70f8a676ab02611a3fea76cab (patch) | |
| tree | d5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c /kernel | |
| parent | 6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f (diff) | |
| parent | efbe2eee6dc0f179be84292bf269528b3ec365e9 (diff) | |
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
lockdep: Fix lockdep_no_validate against IRQ states
mutex: Make mutex_destroy() an inline function
plist: Remove the need to supply locks to plist heads
lockup detector: Fix reference to the non-existent CONFIG_DETECT_SOFTLOCKUP option
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 2 | ||||
| -rw-r--r-- | kernel/futex.c | 2 | ||||
| -rw-r--r-- | kernel/lockdep.c | 3 | ||||
| -rw-r--r-- | kernel/pm_qos_params.c | 6 | ||||
| -rw-r--r-- | kernel/rtmutex.c | 2 | ||||
| -rw-r--r-- | kernel/sched.c | 4 |
6 files changed, 11 insertions, 8 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 4d4117e01504..ca339c5c5819 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -1012,7 +1012,7 @@ static void rt_mutex_init_task(struct task_struct *p) | |||
| 1012 | { | 1012 | { |
| 1013 | raw_spin_lock_init(&p->pi_lock); | 1013 | raw_spin_lock_init(&p->pi_lock); |
| 1014 | #ifdef CONFIG_RT_MUTEXES | 1014 | #ifdef CONFIG_RT_MUTEXES |
| 1015 | plist_head_init_raw(&p->pi_waiters, &p->pi_lock); | 1015 | plist_head_init(&p->pi_waiters); |
| 1016 | p->pi_blocked_on = NULL; | 1016 | p->pi_blocked_on = NULL; |
| 1017 | #endif | 1017 | #endif |
| 1018 | } | 1018 | } |
diff --git a/kernel/futex.c b/kernel/futex.c index fe28dc282eae..3fbc76cbb9aa 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
| @@ -2697,7 +2697,7 @@ static int __init futex_init(void) | |||
| 2697 | futex_cmpxchg_enabled = 1; | 2697 | futex_cmpxchg_enabled = 1; |
| 2698 | 2698 | ||
| 2699 | for (i = 0; i < ARRAY_SIZE(futex_queues); i++) { | 2699 | for (i = 0; i < ARRAY_SIZE(futex_queues); i++) { |
| 2700 | plist_head_init(&futex_queues[i].chain, &futex_queues[i].lock); | 2700 | plist_head_init(&futex_queues[i].chain); |
| 2701 | spin_lock_init(&futex_queues[i].lock); | 2701 | spin_lock_init(&futex_queues[i].lock); |
| 2702 | } | 2702 | } |
| 2703 | 2703 | ||
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 298c9276dfdb..628276d05915 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
| @@ -2468,6 +2468,9 @@ mark_held_locks(struct task_struct *curr, enum mark_type mark) | |||
| 2468 | 2468 | ||
| 2469 | BUG_ON(usage_bit >= LOCK_USAGE_STATES); | 2469 | BUG_ON(usage_bit >= LOCK_USAGE_STATES); |
| 2470 | 2470 | ||
| 2471 | if (hlock_class(hlock)->key == &__lockdep_no_validate__) | ||
| 2472 | continue; | ||
| 2473 | |||
| 2471 | if (!mark_lock(curr, hlock, usage_bit)) | 2474 | if (!mark_lock(curr, hlock, usage_bit)) |
| 2472 | return 0; | 2475 | return 0; |
| 2473 | } | 2476 | } |
diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c index 6824ca7d4d0c..37f05d0f0793 100644 --- a/kernel/pm_qos_params.c +++ b/kernel/pm_qos_params.c | |||
| @@ -74,7 +74,7 @@ static DEFINE_SPINLOCK(pm_qos_lock); | |||
| 74 | static struct pm_qos_object null_pm_qos; | 74 | static struct pm_qos_object null_pm_qos; |
| 75 | static BLOCKING_NOTIFIER_HEAD(cpu_dma_lat_notifier); | 75 | static BLOCKING_NOTIFIER_HEAD(cpu_dma_lat_notifier); |
| 76 | static struct pm_qos_object cpu_dma_pm_qos = { | 76 | static struct pm_qos_object cpu_dma_pm_qos = { |
| 77 | .requests = PLIST_HEAD_INIT(cpu_dma_pm_qos.requests, pm_qos_lock), | 77 | .requests = PLIST_HEAD_INIT(cpu_dma_pm_qos.requests), |
| 78 | .notifiers = &cpu_dma_lat_notifier, | 78 | .notifiers = &cpu_dma_lat_notifier, |
| 79 | .name = "cpu_dma_latency", | 79 | .name = "cpu_dma_latency", |
| 80 | .target_value = PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE, | 80 | .target_value = PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE, |
| @@ -84,7 +84,7 @@ static struct pm_qos_object cpu_dma_pm_qos = { | |||
| 84 | 84 | ||
| 85 | static BLOCKING_NOTIFIER_HEAD(network_lat_notifier); | 85 | static BLOCKING_NOTIFIER_HEAD(network_lat_notifier); |
| 86 | static struct pm_qos_object network_lat_pm_qos = { | 86 | static struct pm_qos_object network_lat_pm_qos = { |
| 87 | .requests = PLIST_HEAD_INIT(network_lat_pm_qos.requests, pm_qos_lock), | 87 | .requests = PLIST_HEAD_INIT(network_lat_pm_qos.requests), |
| 88 | .notifiers = &network_lat_notifier, | 88 | .notifiers = &network_lat_notifier, |
| 89 | .name = "network_latency", | 89 | .name = "network_latency", |
| 90 | .target_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE, | 90 | .target_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE, |
| @@ -95,7 +95,7 @@ static struct pm_qos_object network_lat_pm_qos = { | |||
| 95 | 95 | ||
| 96 | static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier); | 96 | static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier); |
| 97 | static struct pm_qos_object network_throughput_pm_qos = { | 97 | static struct pm_qos_object network_throughput_pm_qos = { |
| 98 | .requests = PLIST_HEAD_INIT(network_throughput_pm_qos.requests, pm_qos_lock), | 98 | .requests = PLIST_HEAD_INIT(network_throughput_pm_qos.requests), |
| 99 | .notifiers = &network_throughput_notifier, | 99 | .notifiers = &network_throughput_notifier, |
| 100 | .name = "network_throughput", | 100 | .name = "network_throughput", |
| 101 | .target_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE, | 101 | .target_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE, |
diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index ab449117aaf2..255e1662acdb 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c | |||
| @@ -890,7 +890,7 @@ void __rt_mutex_init(struct rt_mutex *lock, const char *name) | |||
| 890 | { | 890 | { |
| 891 | lock->owner = NULL; | 891 | lock->owner = NULL; |
| 892 | raw_spin_lock_init(&lock->wait_lock); | 892 | raw_spin_lock_init(&lock->wait_lock); |
| 893 | plist_head_init_raw(&lock->wait_list, &lock->wait_lock); | 893 | plist_head_init(&lock->wait_list); |
| 894 | 894 | ||
| 895 | debug_rt_mutex_init(lock, name); | 895 | debug_rt_mutex_init(lock, name); |
| 896 | } | 896 | } |
diff --git a/kernel/sched.c b/kernel/sched.c index fde6ff903525..c518b05fd062 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -7937,7 +7937,7 @@ static void init_rt_rq(struct rt_rq *rt_rq, struct rq *rq) | |||
| 7937 | #ifdef CONFIG_SMP | 7937 | #ifdef CONFIG_SMP |
| 7938 | rt_rq->rt_nr_migratory = 0; | 7938 | rt_rq->rt_nr_migratory = 0; |
| 7939 | rt_rq->overloaded = 0; | 7939 | rt_rq->overloaded = 0; |
| 7940 | plist_head_init_raw(&rt_rq->pushable_tasks, &rq->lock); | 7940 | plist_head_init(&rt_rq->pushable_tasks); |
| 7941 | #endif | 7941 | #endif |
| 7942 | 7942 | ||
| 7943 | rt_rq->rt_time = 0; | 7943 | rt_rq->rt_time = 0; |
| @@ -8142,7 +8142,7 @@ void __init sched_init(void) | |||
| 8142 | #endif | 8142 | #endif |
| 8143 | 8143 | ||
| 8144 | #ifdef CONFIG_RT_MUTEXES | 8144 | #ifdef CONFIG_RT_MUTEXES |
| 8145 | plist_head_init_raw(&init_task.pi_waiters, &init_task.pi_lock); | 8145 | plist_head_init(&init_task.pi_waiters); |
| 8146 | #endif | 8146 | #endif |
| 8147 | 8147 | ||
| 8148 | /* | 8148 | /* |
