diff options
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 6664c084783d..dba194a8d416 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
| @@ -25,6 +25,8 @@ | |||
| 25 | #include <linux/mount.h> | 25 | #include <linux/mount.h> |
| 26 | #include <linux/proc_fs.h> | 26 | #include <linux/proc_fs.h> |
| 27 | #include <linux/mempolicy.h> | 27 | #include <linux/mempolicy.h> |
| 28 | #include <linux/taskstats_kern.h> | ||
| 29 | #include <linux/delayacct.h> | ||
| 28 | #include <linux/cpuset.h> | 30 | #include <linux/cpuset.h> |
| 29 | #include <linux/syscalls.h> | 31 | #include <linux/syscalls.h> |
| 30 | #include <linux/signal.h> | 32 | #include <linux/signal.h> |
| @@ -843,7 +845,9 @@ static void exit_notify(struct task_struct *tsk) | |||
| 843 | fastcall NORET_TYPE void do_exit(long code) | 845 | fastcall NORET_TYPE void do_exit(long code) |
| 844 | { | 846 | { |
| 845 | struct task_struct *tsk = current; | 847 | struct task_struct *tsk = current; |
| 848 | struct taskstats *tidstats; | ||
| 846 | int group_dead; | 849 | int group_dead; |
| 850 | unsigned int mycpu; | ||
| 847 | 851 | ||
| 848 | profile_task_exit(tsk); | 852 | profile_task_exit(tsk); |
| 849 | 853 | ||
| @@ -881,6 +885,8 @@ fastcall NORET_TYPE void do_exit(long code) | |||
| 881 | current->comm, current->pid, | 885 | current->comm, current->pid, |
| 882 | preempt_count()); | 886 | preempt_count()); |
| 883 | 887 | ||
| 888 | taskstats_exit_alloc(&tidstats, &mycpu); | ||
| 889 | |||
| 884 | acct_update_integrals(tsk); | 890 | acct_update_integrals(tsk); |
| 885 | if (tsk->mm) { | 891 | if (tsk->mm) { |
| 886 | update_hiwater_rss(tsk->mm); | 892 | update_hiwater_rss(tsk->mm); |
| @@ -900,6 +906,10 @@ fastcall NORET_TYPE void do_exit(long code) | |||
| 900 | #endif | 906 | #endif |
| 901 | if (unlikely(tsk->audit_context)) | 907 | if (unlikely(tsk->audit_context)) |
| 902 | audit_free(tsk); | 908 | audit_free(tsk); |
| 909 | taskstats_exit_send(tsk, tidstats, group_dead, mycpu); | ||
| 910 | taskstats_exit_free(tidstats); | ||
| 911 | delayacct_tsk_exit(tsk); | ||
| 912 | |||
| 903 | exit_mm(tsk); | 913 | exit_mm(tsk); |
| 904 | 914 | ||
| 905 | if (group_dead) | 915 | if (group_dead) |
