On Wed, 2006-01-04 at 11:04 -0800, Jay Lan wrote:Why does proc_exit_connector need to move ? It only uses task->{pid,tgid,exit_code,exit_signal}, none of which
Shailabh Nagar wrote:<snip>
Index: linux-2.6.15-rc7/kernel/exit.cWe need to move both proc_exit_connector(tsk) and
===================================================================
--- linux-2.6.15-rc7.orig/kernel/exit.c
+++ linux-2.6.15-rc7/kernel/exit.c
@@ -29,6 +29,7 @@
#include <linux/syscalls.h>
#include <linux/signal.h>
#include <linux/cn_proc.h>
+#include <linux/cn_stats.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
@@ -865,6 +866,7 @@ fastcall NORET_TYPE void do_exit(long co
tsk->exit_code = code;
proc_exit_connector(tsk);
+ cnstats_exit_connector(tsk);
cnstats_exit_connector(tsk) up to before exit_mm(tsk) statement.
There are task statistics collected in task->mm and those stats
will be lost after exit_mm(tsk).
Thanks,
- jay
exit_notify(tsk);
#ifdef CONFIG_NUMA
mpol_free(tsk->mempolicy);
-
Good point. The assignment of the task exit code will also have to move
up before exit_mm(tsk) because the process event connector exit function
retrieves the exit code from the task struct.
Moving these may also affect the job/pagg/task_notify/cpuset exit
notification if we're eventually going to remove *direct* calls to these
from kernel/exit.c.
Cheers,
-Matt Helsley