Messages in this thread Patch in this message | | | Date | Wed, 27 Jul 2011 18:34:41 +0200 | From | Oleg Nesterov <> | Subject | [PATCH 9/8] kill PF_STARTING |
| |
Previously it was (ab)used by utrace. Then it was wrongly used by the scheduler code.
Currently it is not used, kill it before it finds the new erroneous user.
Signed-off-by: Oleg Nesterov <oleg@redhat.com> ---
include/linux/sched.h | 1 - kernel/fork.c | 9 --------- 2 files changed, 10 deletions(-)
--- 3.1/include/linux/sched.h~9_kill_pf_starting 2011-07-27 17:48:36.000000000 +0200 +++ 3.1/include/linux/sched.h 2011-07-27 17:53:21.000000000 +0200 @@ -1756,7 +1756,6 @@ extern void thread_group_times(struct ta /* * Per process flags */ -#define PF_STARTING 0x00000002 /* being created */ #define PF_EXITING 0x00000004 /* getting shut down */ #define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */ #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ --- 3.1/kernel/fork.c~9_kill_pf_starting 2011-07-27 17:51:54.000000000 +0200 +++ 3.1/kernel/fork.c 2011-07-27 17:54:09.000000000 +0200 @@ -992,7 +992,6 @@ static void copy_flags(unsigned long clo new_flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER); new_flags |= PF_FORKNOEXEC; - new_flags |= PF_STARTING; p->flags = new_flags; clear_freeze_flag(p); } @@ -1600,14 +1599,6 @@ long do_fork(unsigned long clone_flags, audit_finish_fork(p); - /* - * We set PF_STARTING at creation in case tracing wants to - * use this to distinguish a fully live task from one that - * hasn't finished SIGSTOP raising yet. Now we clear it - * and set the child going. - */ - p->flags &= ~PF_STARTING; - wake_up_new_task(p); /* forking complete and child started to run, tell ptracer */
| |