Messages in this thread Patch in this message | | | Date | Fri, 12 Aug 2011 19:57:01 +0200 | From | Oleg Nesterov <> | Subject | [PATCH 4/3] 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 - 1 file changed, 1 deletion(-)
--- 3.1/include/linux/sched.h~4_kill_PF_STARTING 2011-08-12 18:51:13.000000000 +0200 +++ 3.1/include/linux/sched.h 2011-08-12 18:52:58.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~4_kill_PF_STARTING 2011-08-12 18:51:13.000000000 +0200 +++ 3.1/kernel/fork.c 2011-08-12 18:52:58.000000000 +0200 @@ -1026,7 +1026,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); } @@ -1563,15 +1562,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 */
| |