Linux Audio

Check our new training course

Loading...
v5.9
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * task_io_accounting: a structure which is used for recording a single task's
 4 * IO statistics.
 5 *
 6 * Don't include this header file directly - it is designed to be dragged in via
 7 * sched.h.
 8 *
 9 * Blame Andrew Morton for all this.
10 */
11
12struct task_io_accounting {
13#ifdef CONFIG_TASK_XACCT
14	/* bytes read */
15	u64 rchar;
16	/*  bytes written */
17	u64 wchar;
18	/* # of read syscalls */
19	u64 syscr;
20	/* # of write syscalls */
21	u64 syscw;
22#endif /* CONFIG_TASK_XACCT */
23
24#ifdef CONFIG_TASK_IO_ACCOUNTING
25	/*
26	 * The number of bytes which this task has caused to be read from
27	 * storage.
28	 */
29	u64 read_bytes;
30
31	/*
32	 * The number of bytes which this task has caused, or shall cause to be
33	 * written to disk.
34	 */
35	u64 write_bytes;
36
37	/*
38	 * A task can cause "negative" IO too.  If this task truncates some
39	 * dirty pagecache, some IO which another task has been accounted for
40	 * (in its write_bytes) will not be happening.  We _could_ just
41	 * subtract that from the truncating task's write_bytes, but there is
42	 * information loss in doing that.
43	 */
44	u64 cancelled_write_bytes;
45#endif /* CONFIG_TASK_IO_ACCOUNTING */
46};
v5.14.15
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * task_io_accounting: a structure which is used for recording a single task's
 4 * IO statistics.
 5 *
 6 * Don't include this header file directly - it is designed to be dragged in via
 7 * sched.h.
 8 *
 9 * Blame Andrew Morton for all this.
10 */
11
12struct task_io_accounting {
13#ifdef CONFIG_TASK_XACCT
14	/* bytes read */
15	u64 rchar;
16	/*  bytes written */
17	u64 wchar;
18	/* # of read syscalls */
19	u64 syscr;
20	/* # of write syscalls */
21	u64 syscw;
22#endif /* CONFIG_TASK_XACCT */
23
24#ifdef CONFIG_TASK_IO_ACCOUNTING
25	/*
26	 * The number of bytes which this task has caused to be read from
27	 * storage.
28	 */
29	u64 read_bytes;
30
31	/*
32	 * The number of bytes which this task has caused, or shall cause to be
33	 * written to disk.
34	 */
35	u64 write_bytes;
36
37	/*
38	 * A task can cause "negative" IO too.  If this task truncates some
39	 * dirty pagecache, some IO which another task has been accounted for
40	 * (in its write_bytes) will not be happening.  We _could_ just
41	 * subtract that from the truncating task's write_bytes, but there is
42	 * information loss in doing that.
43	 */
44	u64 cancelled_write_bytes;
45#endif /* CONFIG_TASK_IO_ACCOUNTING */
46};