]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] per-task delay accounting taskstats interface: control exit data through...
authorShailabh Nagar <nagar@watson.ibm.com>
Fri, 14 Jul 2006 07:24:47 +0000 (00:24 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 15 Jul 2006 04:53:57 +0000 (21:53 -0700)
commit6c3c7db1ab22d5e116eff855780e02fc2adb533a
tree18c2506bb31e49a9e2c4a483d37b0394c815fe9d
parent8e31b44bce9eb08a1171a29850cfc3e321de4876
[PATCH] per-task delay accounting taskstats interface: control exit data through cpumasks

On systems with a large number of cpus, with even a modest rate of tasks
exiting per cpu, the volume of taskstats data sent on thread exit can
overflow a userspace listener's buffers.

One approach to avoiding overflow is to allow listeners to get data for a
limited and specific set of cpus.  By scaling the number of listeners
and/or the cpus they monitor, userspace can handle the statistical data
overload more gracefully.

In this patch, each listener registers to listen to a specific set of cpus
by specifying a cpumask.  The interest is recorded per-cpu.  When a task
exits on a cpu, its taskstats data is unicast to each listener interested
in that cpu.

Thanks to Andrew Morton for pointing out the various scalability and
general concerns of previous attempts and for suggesting this design.

[akpm@osdl.org: build fix]
Signed-off-by: Shailabh Nagar <nagar@watson.ibm.com>
Signed-off-by: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/taskstats.h
include/linux/taskstats_kern.h
kernel/exit.c
kernel/taskstats.c