diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-02-08 16:12:37 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-02-08 16:12:37 -0500 |
commit | 8c245c4855934ccbea0ea73f8c5fa0d76a449ce4 (patch) | |
tree | d8a5a5443c97c6e5888ad9d7f3366797b040858e | |
parent | 8ad95cb9f133606d240da6bfec2f2b39a2395159 (diff) | |
download | rt-patches-8c245c4855934ccbea0ea73f8c5fa0d76a449ce4.tar.gz |
refresh sched-Fix-TASK_WAKING-vs-fork-deadlock.patchv2.6.34-rc2-250-g833961dv2.6.34-rc2-248-g3cacf42
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | sched-Fix-TASK_WAKING-vs-fork-deadlock.patch | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch index bfc6ef0..a1d488b 100644 --- a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch +++ b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch @@ -1,4 +1,4 @@ -From 7b94ba84bd232df5b682f079b1a095b0adff904f Mon Sep 17 00:00:00 2001 +From f99d3adda4c27c35c792a000e51dad1ca69e6b74 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Tue, 20 Jul 2010 19:11:55 +0200 Subject: [PATCH] sched: Fix TASK_WAKING vs fork deadlock @@ -29,12 +29,13 @@ Reported-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 8b724c5..6160322 100644 +index 452c4da..2c0b2bc 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1160,7 +1160,8 @@ struct sched_class { +@@ -1110,7 +1110,8 @@ struct sched_class { void (*put_prev_task) (struct rq *rq, struct task_struct *p); #ifdef CONFIG_SMP @@ -45,7 +46,7 @@ index 8b724c5..6160322 100644 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); void (*post_schedule) (struct rq *this_rq); diff --git a/kernel/sched.c b/kernel/sched.c -index 76380b2..fa3f4e4 100644 +index 8498c3e..30a43dd 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -982,14 +982,10 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) @@ -112,7 +113,7 @@ index 76380b2..fa3f4e4 100644 /* * Revert to default priority/policy on fork if requested. @@ -2756,28 +2745,23 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) - int cpu = get_cpu(); + int cpu __maybe_unused = get_cpu(); #ifdef CONFIG_SMP + rq = task_rq_lock(p, &flags); @@ -182,7 +183,7 @@ index 76380b2..fa3f4e4 100644 } diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index 1693baf..f6ebcd6 100644 +index 6e1786f..44bda50 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1458,7 +1458,8 @@ select_idle_sibling(struct task_struct *p, struct sched_domain *sd, int target) @@ -223,7 +224,7 @@ index a8a6d8a..5af709f 100644 return task_cpu(p); /* IDLE tasks as never migrated */ } diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index ca2b89f..7b589ee 100644 +index 4d7521f..2775cd3 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -1005,10 +1005,9 @@ static void yield_task_rt(struct rq *rq) @@ -240,5 +241,5 @@ index ca2b89f..7b589ee 100644 return smp_processor_id(); -- -1.7.1.1 +1.7.0.4 |