public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* remove long deprecated CLONE_STOPPED flag.
@ 2010-12-16  5:25 Dave Jones
  0 siblings, 0 replies; only message in thread
From: Dave Jones @ 2010-12-16  5:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel, peterz

Can we remove this completely ? (like the untested patch below)

	Dave

---
This warning was added in commit bdff746a3915f109bd13730b6847e33e17e91ed3
three years ago. 2.6.26 came and went. As far as I know, no-one is
actually using CLONE_STOPPED.

Signed-off-by: Dave Jones <davej@redhat.com>

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2c79e92..ec07afe 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -21,7 +21,8 @@
 #define CLONE_DETACHED		0x00400000	/* Unused, ignored */
 #define CLONE_UNTRACED		0x00800000	/* set if the tracing process can't force CLONE_PTRACE on this clone */
 #define CLONE_CHILD_SETTID	0x01000000	/* set the TID in the child */
-#define CLONE_STOPPED		0x02000000	/* Start in stopped state */
+/* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state)
+   and is now available for re-use. */
 #define CLONE_NEWUTS		0x04000000	/* New utsname group? */
 #define CLONE_NEWIPC		0x08000000	/* New ipcs */
 #define CLONE_NEWUSER		0x10000000	/* New user namespace */
diff --git a/kernel/fork.c b/kernel/fork.c
index 3b159c5..5270bea 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1407,23 +1407,6 @@ long do_fork(unsigned long clone_flags,
 	}
 
 	/*
-	 * We hope to recycle these flags after 2.6.26
-	 */
-	if (unlikely(clone_flags & CLONE_STOPPED)) {
-		static int __read_mostly count = 100;
-
-		if (count > 0 && printk_ratelimit()) {
-			char comm[TASK_COMM_LEN];
-
-			count--;
-			printk(KERN_INFO "fork(): process `%s' used deprecated "
-					"clone flags 0x%lx\n",
-				get_task_comm(comm, current),
-				clone_flags & CLONE_STOPPED);
-		}
-	}
-
-	/*
 	 * When called from kernel_thread, don't do user tracing stuff.
 	 */
 	if (likely(user_mode(regs)))
@@ -1461,16 +1444,7 @@ long do_fork(unsigned long clone_flags,
 		 */
 		p->flags &= ~PF_STARTING;
 
-		if (unlikely(clone_flags & CLONE_STOPPED)) {
-			/*
-			 * We'll start up with an immediate SIGSTOP.
-			 */
-			sigaddset(&p->pending.signal, SIGSTOP);
-			set_tsk_thread_flag(p, TIF_SIGPENDING);
-			__set_task_state(p, TASK_STOPPED);
-		} else {
-			wake_up_new_task(p, clone_flags);
-		}
+		wake_up_new_task(p, clone_flags);
 
 		tracehook_report_clone_complete(trace, regs,
 						clone_flags, nr, p);

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2010-12-16  5:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-16  5:25 remove long deprecated CLONE_STOPPED flag Dave Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox