Blame view

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