Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: /* 2: * task_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 Andrew Morton for all this. 9: */ 10: 11: struct task_io_accounting { 12: #ifdef CONFIG_TASK_XACCT 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: #endif /* CONFIG_TASK_XACCT */ 22: 23: #ifdef CONFIG_TASK_IO_ACCOUNTING 24: /* 25: * The number of bytes which this task has caused to be read from 26: * storage. 27: */ 28: u64 read_bytes; 29: 30: /* 31: * The number of bytes which this task has caused, or shall cause to be 32: * written to disk. 33: */ 34: u64 write_bytes; 35: 36: /* 37: * A task can cause "negative" IO too. If this task truncates some 38: * dirty pagecache, some IO which another task has been accounted for 39: * (in its write_bytes) will not be happening. We _could_ just 40: * subtract that from the truncating task's write_bytes, but there is 41: * information loss in doing that. 42: */ 43: u64 cancelled_write_bytes; 44: #endif /* CONFIG_TASK_IO_ACCOUNTING */ 45: }; 46: