fastcall NORET_TYPE void do_exit(long code)
{
struct task_struct *tsk = current;
- struct taskstats *tidstats, *tgidstats;
+ struct taskstats *tidstats;
int group_dead;
+ unsigned int mycpu;
profile_task_exit(tsk);
current->comm, current->pid,
preempt_count());
- taskstats_exit_alloc(&tidstats, &tgidstats);
+ taskstats_exit_alloc(&tidstats, &mycpu);
acct_update_integrals(tsk);
if (tsk->mm) {
#endif
if (unlikely(tsk->audit_context))
audit_free(tsk);
- taskstats_exit_send(tsk, tidstats, tgidstats);
- taskstats_exit_free(tidstats, tgidstats);
- delayacct_tsk_exit(tsk);
+ taskstats_exit_send(tsk, tidstats, group_dead, mycpu);
+ taskstats_exit_free(tidstats);
exit_mm(tsk);
* 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))