Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 211c8d4942edf2f3337820dda101da6b13c8a19a 58 lines 1.4 kB view raw
1/* 2 * proc_io_accounting: a structure which is used for recording a single task's 3 * IO statistics. 4 * 5 * Don't include this header file directly - it is designed to be dragged in via 6 * sched.h. 7 * 8 * Blame akpm@osdl.org for all this. 9 */ 10 11#ifdef CONFIG_TASK_XACCT 12struct task_chr_io_accounting { 13 /* bytes read */ 14 u64 rchar; 15 /* bytes written */ 16 u64 wchar; 17 /* # of read syscalls */ 18 u64 syscr; 19 /* # of write syscalls */ 20 u64 syscw; 21}; 22#else /* CONFIG_TASK_XACCT */ 23struct task_chr_io_accounting { 24}; 25#endif /* CONFIG_TASK_XACCT */ 26 27#ifdef CONFIG_TASK_IO_ACCOUNTING 28struct task_io_accounting { 29 /* 30 * The number of bytes which this task has caused to be read from 31 * storage. 32 */ 33 u64 read_bytes; 34 35 /* 36 * The number of bytes which this task has caused, or shall cause to be 37 * written to disk. 38 */ 39 u64 write_bytes; 40 41 /* 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. 47 */ 48 u64 cancelled_write_bytes; 49}; 50#else /* CONFIG_TASK_IO_ACCOUNTING */ 51struct task_io_accounting { 52}; 53#endif /* CONFIG_TASK_IO_ACCOUNTING */ 54 55struct proc_io_accounting { 56 struct task_chr_io_accounting chr; 57 struct task_io_accounting blk; 58};