4 #ifndef __TASK_IO_ACCOUNTING_OPS_INCLUDED
5 #define __TASK_IO_ACCOUNTING_OPS_INCLUDED
7 #include <linux/sched.h>
9 #ifdef CONFIG_TASK_IO_ACCOUNTING
10 static inline void task_io_account_read(
size_t bytes)
19 static inline unsigned long task_io_get_inblock(
const struct task_struct *
p)
21 return p->
ioac.read_bytes >> 9;
24 static inline void task_io_account_write(
size_t bytes)
33 static inline unsigned long task_io_get_oublock(
const struct task_struct *
p)
35 return p->
ioac.write_bytes >> 9;
38 static inline void task_io_account_cancelled_write(
size_t bytes)
45 memset(ioac, 0,
sizeof(*ioac));
51 dst->read_bytes += src->read_bytes;
52 dst->write_bytes += src->write_bytes;
53 dst->cancelled_write_bytes += src->cancelled_write_bytes;
58 static inline void task_io_account_read(
size_t bytes)
62 static inline unsigned long task_io_get_inblock(
const struct task_struct *
p)
67 static inline void task_io_account_write(
size_t bytes)
71 static inline unsigned long task_io_get_oublock(
const struct task_struct *
p)
76 static inline void task_io_account_cancelled_write(
size_t bytes)
91 #ifdef CONFIG_TASK_XACCT
95 dst->rchar += src->rchar;
96 dst->wchar += src->wchar;
97 dst->syscr += src->syscr;
98 dst->syscw += src->syscw;
110 task_chr_io_accounting_add(dst, src);
111 task_blk_io_accounting_add(dst, src);