aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-07-22 19:43:21 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-22 19:43:21 -0400
commit75b56ec294b074d70f8a676ab02611a3fea76cab (patch)
treed5299adb43ac6fc8dcc50c3e438c7f0cdd452b1c /kernel
parent6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f (diff)
parentefbe2eee6dc0f179be84292bf269528b3ec365e9 (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.c2
-rw-r--r--kernel/futex.c2
-rw-r--r--kernel/lockdep.c3
-rw-r--r--kernel/pm_qos_params.c6
-rw-r--r--kernel/rtmutex.c2
-rw-r--r--kernel/sched.c4
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);
74static struct pm_qos_object null_pm_qos; 74static struct pm_qos_object null_pm_qos;
75static BLOCKING_NOTIFIER_HEAD(cpu_dma_lat_notifier); 75static BLOCKING_NOTIFIER_HEAD(cpu_dma_lat_notifier);
76static struct pm_qos_object cpu_dma_pm_qos = { 76static 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
85static BLOCKING_NOTIFIER_HEAD(network_lat_notifier); 85static BLOCKING_NOTIFIER_HEAD(network_lat_notifier);
86static struct pm_qos_object network_lat_pm_qos = { 86static 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
96static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier); 96static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier);
97static struct pm_qos_object network_throughput_pm_qos = { 97static 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 /*