1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_SCHED_XACCT_H
3 #define _LINUX_SCHED_XACCT_H
4 
5 /*
6  * Extended task accounting methods:
7  */
8 
9 #include <linux/sched.h>
10 
11 #ifdef CONFIG_TASK_XACCT
add_rchar(struct task_struct * tsk,ssize_t amt)12 static inline void add_rchar(struct task_struct *tsk, ssize_t amt)
13 {
14 	tsk->ioac.rchar += amt;
15 }
16 
add_wchar(struct task_struct * tsk,ssize_t amt)17 static inline void add_wchar(struct task_struct *tsk, ssize_t amt)
18 {
19 	tsk->ioac.wchar += amt;
20 }
21 
inc_syscr(struct task_struct * tsk)22 static inline void inc_syscr(struct task_struct *tsk)
23 {
24 	tsk->ioac.syscr++;
25 }
26 
inc_syscw(struct task_struct * tsk)27 static inline void inc_syscw(struct task_struct *tsk)
28 {
29 	tsk->ioac.syscw++;
30 }
31 #else
add_rchar(struct task_struct * tsk,ssize_t amt)32 static inline void add_rchar(struct task_struct *tsk, ssize_t amt)
33 {
34 }
35 
add_wchar(struct task_struct * tsk,ssize_t amt)36 static inline void add_wchar(struct task_struct *tsk, ssize_t amt)
37 {
38 }
39 
inc_syscr(struct task_struct * tsk)40 static inline void inc_syscr(struct task_struct *tsk)
41 {
42 }
43 
inc_syscw(struct task_struct * tsk)44 static inline void inc_syscw(struct task_struct *tsk)
45 {
46 }
47 #endif
48 
49 #endif /* _LINUX_SCHED_XACCT_H */
50