Blob Blame History Raw
From 5e6316fe98f9fc381ed1274fc503fe91f49eb114 Mon Sep 17 00:00:00 2001
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 21 Sep 2011 19:57:12 +0200
Subject: [PATCH] signal: Revert ptrace preempt magic

References: SLE Realtime Extension
Patch-mainline: Queued in subsystem maintainer repository
Git-commit: 74c366b911e9710309734706f35b264f33db0592
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git

Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a
correctness issue, it's merily a cosmetic bandaid.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Mel Gorman <mgorman@suse.de>
---
 kernel/signal.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index 02c1d43248ff..dc8229ef5c52 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -2260,16 +2260,8 @@ static void ptrace_stop(int exit_code, int why, int clear_code, kernel_siginfo_t
 		if (gstop_done && ptrace_reparented(current))
 			do_notify_parent_cldstop(current, false, why);
 
-		/*
-		 * Don't want to allow preemption here, because
-		 * sys_ptrace() needs this task to be inactive.
-		 *
-		 * XXX: implement read_unlock_no_resched().
-		 */
-		preempt_disable();
 		read_unlock(&tasklist_lock);
 		cgroup_enter_frozen();
-		preempt_enable_no_resched();
 		freezable_schedule();
 		cgroup_leave_frozen(true);
 	} else {