summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-08 16:12:37 -0500
committerPaul Gortmaker <paul.gortmaker@windriver.com>2011-02-08 16:12:37 -0500
commit8c245c4855934ccbea0ea73f8c5fa0d76a449ce4 (patch)
treed8a5a5443c97c6e5888ad9d7f3366797b040858e
parent8ad95cb9f133606d240da6bfec2f2b39a2395159 (diff)
downloadrt-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.patch17
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