2 * proc_io_accounting: a structure which is used for recording a single task's
5 * Don't include this header file directly - it is designed to be dragged in via
8 * Blame akpm@osdl.org for all this.
11 #ifdef CONFIG_TASK_XACCT
12 struct task_chr_io_accounting {
17 /* # of read syscalls */
19 /* # of write syscalls */
22 #else /* CONFIG_TASK_XACCT */
23 struct task_chr_io_accounting {
25 #endif /* CONFIG_TASK_XACCT */
27 #ifdef CONFIG_TASK_IO_ACCOUNTING
28 struct task_io_accounting {
30 * The number of bytes which this task has caused to be read from
36 * The number of bytes which this task has caused, or shall cause to be
42 * A task can cause "negative" IO too. If this task truncates some
43 * dirty pagecache, some IO which another task has been accounted for
44 * (in its write_bytes) will not be happening. We _could_ just
45 * subtract that from the truncating task's write_bytes, but there is
46 * information loss in doing that.
48 u64 cancelled_write_bytes;
50 #else /* CONFIG_TASK_IO_ACCOUNTING */
51 struct task_io_accounting {
53 #endif /* CONFIG_TASK_IO_ACCOUNTING */
55 struct proc_io_accounting {
56 struct task_chr_io_accounting chr;
57 struct task_io_accounting blk;