cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

task_io_accounting.h (1159B)


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