root/include/linux/task_io_accounting.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 
  12 struct 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 };

/* [<][>][^][v][top][bottom][index][help] */