path: root/init
diff options
authorShailabh Nagar <>2006-07-14 00:24:40 -0700
committerLinus Torvalds <>2006-07-14 21:53:56 -0700
commitc757249af152c59fd74b85e52e8c090acb33d9c0 (patch)
tree78495f661fe537bf5087b24e6577659de8725b5a /init
parentfb0ba6bd021248b6bdc58a7b1213a55a6776a38a (diff)
[PATCH] per-task-delay-accounting: taskstats interface
Create a "taskstats" interface based on generic netlink (NETLINK_GENERIC family), for getting statistics of tasks and thread groups during their lifetime and when they exit. The interface is intended for use by multiple accounting packages though it is being created in the context of delay accounting. This patch creates the interface without populating the fields of the data that is sent to the user in response to a command or upon the exit of a task. Each accounting package interested in using taskstats has to provide an additional patch to add its stats to the common structure. [ cleanups, Kconfig fix] Signed-off-by: Shailabh Nagar <> Signed-off-by: Balbir Singh <> Cc: Jes Sorensen <> Cc: Peter Chubb <> Cc: Erich Focht <> Cc: Levent Serinol <> Cc: Jay Lan <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'init')
2 files changed, 15 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 90498a3e53da..56a7093b4e4c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -158,6 +158,19 @@ config BSD_PROCESS_ACCT_V3
for processing it. A preliminary version of these tools is available
at <>.
+ bool "Export task/process statistics through netlink (EXPERIMENTAL)"
+ depends on NET
+ default n
+ help
+ Export selected statistics for tasks/processes through the
+ generic netlink interface. Unlike BSD process accounting, the
+ statistics are available during the lifetime of tasks/processes as
+ responses to commands. Like BSD accounting, they are sent to user
+ space on task exit.
+ Say N if unsure.
bool "Enable per-task delay accounting (EXPERIMENTAL)"
diff --git a/init/main.c b/init/main.c
index 9e8e8c152142..8651a720a092 100644
--- a/init/main.c
+++ b/init/main.c
@@ -41,6 +41,7 @@
#include <linux/cpu.h>
#include <linux/cpuset.h>
#include <linux/efi.h>
+#include <linux/taskstats_kern.h>
#include <linux/delayacct.h>
#include <linux/unistd.h>
#include <linux/rmap.h>
@@ -575,6 +576,7 @@ asmlinkage void __init start_kernel(void)
+ taskstats_init_early();