diff options
author | Dave Jones <davej@redhat.com> | 2011-01-13 18:45:40 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 20:32:31 -0500 |
commit | 43bb40c9e3aa51a3b038c9df2c9afb4d4685614d (patch) | |
tree | 3b7d37ef585d4a94d7d56f62f02418b0b0d056c1 | |
parent | 5dfbd1d734ef5415bc47b034df7433ba21e40e7b (diff) |
sched: remove long deprecated CLONE_STOPPED flag
This warning was added in commit bdff746a3915 ("clone: prepare to recycle
CLONE_STOPPED") 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>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/sched.h | 3 | ||||
-rw-r--r-- | kernel/fork.c | 28 |
2 files changed, 3 insertions, 28 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 96e23215e276..07402530fc70 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -21,7 +21,8 @@ | |||
21 | #define CLONE_DETACHED 0x00400000 /* Unused, ignored */ | 21 | #define CLONE_DETACHED 0x00400000 /* Unused, ignored */ |
22 | #define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */ | 22 | #define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */ |
23 | #define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */ | 23 | #define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */ |
24 | #define CLONE_STOPPED 0x02000000 /* Start in stopped state */ | 24 | /* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state) |
25 | and is now available for re-use. */ | ||
25 | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */ | 26 | #define CLONE_NEWUTS 0x04000000 /* New utsname group? */ |
26 | #define CLONE_NEWIPC 0x08000000 /* New ipcs */ | 27 | #define CLONE_NEWIPC 0x08000000 /* New ipcs */ |
27 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ | 28 | #define CLONE_NEWUSER 0x10000000 /* New user namespace */ |
diff --git a/kernel/fork.c b/kernel/fork.c index d9b44f20b6b0..76a1fdd80bdf 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -1410,23 +1410,6 @@ long do_fork(unsigned long clone_flags, | |||
1410 | } | 1410 | } |
1411 | 1411 | ||
1412 | /* | 1412 | /* |
1413 | * We hope to recycle these flags after 2.6.26 | ||
1414 | */ | ||
1415 | if (unlikely(clone_flags & CLONE_STOPPED)) { | ||
1416 | static int __read_mostly count = 100; | ||
1417 | |||
1418 | if (count > 0 && printk_ratelimit()) { | ||
1419 | char comm[TASK_COMM_LEN]; | ||
1420 | |||
1421 | count--; | ||
1422 | printk(KERN_INFO "fork(): process `%s' used deprecated " | ||
1423 | "clone flags 0x%lx\n", | ||
1424 | get_task_comm(comm, current), | ||
1425 | clone_flags & CLONE_STOPPED); | ||
1426 | } | ||
1427 | } | ||
1428 | |||
1429 | /* | ||
1430 | * When called from kernel_thread, don't do user tracing stuff. | 1413 | * When called from kernel_thread, don't do user tracing stuff. |
1431 | */ | 1414 | */ |
1432 | if (likely(user_mode(regs))) | 1415 | if (likely(user_mode(regs))) |
@@ -1464,16 +1447,7 @@ long do_fork(unsigned long clone_flags, | |||
1464 | */ | 1447 | */ |
1465 | p->flags &= ~PF_STARTING; | 1448 | p->flags &= ~PF_STARTING; |
1466 | 1449 | ||
1467 | if (unlikely(clone_flags & CLONE_STOPPED)) { | 1450 | wake_up_new_task(p, clone_flags); |
1468 | /* | ||
1469 | * We'll start up with an immediate SIGSTOP. | ||
1470 | */ | ||
1471 | sigaddset(&p->pending.signal, SIGSTOP); | ||
1472 | set_tsk_thread_flag(p, TIF_SIGPENDING); | ||
1473 | __set_task_state(p, TASK_STOPPED); | ||
1474 | } else { | ||
1475 | wake_up_new_task(p, clone_flags); | ||
1476 | } | ||
1477 | 1451 | ||
1478 | tracehook_report_clone_complete(trace, regs, | 1452 | tracehook_report_clone_complete(trace, regs, |
1479 | clone_flags, nr, p); | 1453 | clone_flags, nr, p); |