]> err.no Git - linux-2.6/blobdiff - kernel/exit.c
[PATCH] ehea: IBM eHEA Ethernet Device Driver
[linux-2.6] / kernel / exit.c
index 67c1e9a4f812a039ce7def1fd1599b74841150f7..d891883420f7bfd64b0cbc29b7003fcd57d526ef 100644 (file)
@@ -847,6 +847,7 @@ fastcall NORET_TYPE void do_exit(long code)
        struct task_struct *tsk = current;
        struct taskstats *tidstats;
        int group_dead;
+       unsigned int mycpu;
 
        profile_task_exit(tsk);
 
@@ -884,7 +885,7 @@ fastcall NORET_TYPE void do_exit(long code)
                                current->comm, current->pid,
                                preempt_count());
 
-       taskstats_exit_alloc(&tidstats);
+       taskstats_exit_alloc(&tidstats, &mycpu);
 
        acct_update_integrals(tsk);
        if (tsk->mm) {
@@ -905,9 +906,8 @@ fastcall NORET_TYPE void do_exit(long code)
 #endif
        if (unlikely(tsk->audit_context))
                audit_free(tsk);
-       taskstats_exit_send(tsk, tidstats, group_dead);
+       taskstats_exit_send(tsk, tidstats, group_dead, mycpu);
        taskstats_exit_free(tidstats);
-       delayacct_tsk_exit(tsk);
 
        exit_mm(tsk);
 
@@ -1053,7 +1053,7 @@ static int eligible_child(pid_t pid, int options, struct task_struct *p)
         * Do not consider thread group leaders that are
         * in a non-empty thread group:
         */
-       if (current->tgid != p->tgid && delay_group_leader(p))
+       if (delay_group_leader(p))
                return 2;
 
        if (security_task_wait(p))