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