Per-task delay accounting
From: | Shailabh Nagar <nagar@watson.ibm.com> | |
To: | linux-kernel <linux-kernel@vger.kernel.org> | |
Subject: | [Patch 0/7] Per-task delay accounting | |
Date: | Mon, 27 Feb 2006 02:56:36 -0500 | |
Cc: | lse-tech <lse-tech@lists.sourceforge.net> |
The following patches add accounting for the delays seen by tasks in a) waiting for a CPU (while being runnable) b) completion of synchronous block I/O initiated by the task c) swapping in pages (i.e. capacity misses). Such delays provide feedback for a task's cpu priority, io priority and rss limit values. Long delays, especially relative to other tasks, can be a trigger for changing a task's cpu/io priorities and modifying its rss usage (either directly through sys_getprlimit() that was proposed earlier on lkml or by throttling cpu consumption or process calling sys_setrlimit etc.) The major changes since the previous posting of these patches are - use of the new generic netlink interface (NETLINK_GENERIC family) with provision for reuse by other (non-delay accounting) kernel components - sysctl option for turning delay accounting collection on/off dynamically - similar sysctl option for schedstats. Delay accounting leverages schedstats code for cpu delays. - dynamic allocation of delay accounting structures More comments in individual patches. Please give feedback. --Shailabh Series nstimestamp-diff.patch schedstats-sysctl.patch delayacct-setup.patch delayacct-sysctl.patch delayacct-blkio.patch delayacct-swapin.patch delayacct-genetlink.patch