xref: /linux/include/linux/sched/xacct.h (revision b2441318)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b12fb7f4SIngo Molnar #ifndef _LINUX_SCHED_XACCT_H
3b12fb7f4SIngo Molnar #define _LINUX_SCHED_XACCT_H
4b12fb7f4SIngo Molnar 
59a070004SIngo Molnar /*
69a070004SIngo Molnar  * Extended task accounting methods:
79a070004SIngo Molnar  */
89a070004SIngo Molnar 
9b12fb7f4SIngo Molnar #include <linux/sched.h>
10b12fb7f4SIngo Molnar 
119a070004SIngo Molnar #ifdef CONFIG_TASK_XACCT
add_rchar(struct task_struct * tsk,ssize_t amt)129a070004SIngo Molnar static inline void add_rchar(struct task_struct *tsk, ssize_t amt)
139a070004SIngo Molnar {
149a070004SIngo Molnar 	tsk->ioac.rchar += amt;
159a070004SIngo Molnar }
169a070004SIngo Molnar 
add_wchar(struct task_struct * tsk,ssize_t amt)179a070004SIngo Molnar static inline void add_wchar(struct task_struct *tsk, ssize_t amt)
189a070004SIngo Molnar {
199a070004SIngo Molnar 	tsk->ioac.wchar += amt;
209a070004SIngo Molnar }
219a070004SIngo Molnar 
inc_syscr(struct task_struct * tsk)229a070004SIngo Molnar static inline void inc_syscr(struct task_struct *tsk)
239a070004SIngo Molnar {
249a070004SIngo Molnar 	tsk->ioac.syscr++;
259a070004SIngo Molnar }
269a070004SIngo Molnar 
inc_syscw(struct task_struct * tsk)279a070004SIngo Molnar static inline void inc_syscw(struct task_struct *tsk)
289a070004SIngo Molnar {
299a070004SIngo Molnar 	tsk->ioac.syscw++;
309a070004SIngo Molnar }
319a070004SIngo Molnar #else
add_rchar(struct task_struct * tsk,ssize_t amt)329a070004SIngo Molnar static inline void add_rchar(struct task_struct *tsk, ssize_t amt)
339a070004SIngo Molnar {
349a070004SIngo Molnar }
359a070004SIngo Molnar 
add_wchar(struct task_struct * tsk,ssize_t amt)369a070004SIngo Molnar static inline void add_wchar(struct task_struct *tsk, ssize_t amt)
379a070004SIngo Molnar {
389a070004SIngo Molnar }
399a070004SIngo Molnar 
inc_syscr(struct task_struct * tsk)409a070004SIngo Molnar static inline void inc_syscr(struct task_struct *tsk)
419a070004SIngo Molnar {
429a070004SIngo Molnar }
439a070004SIngo Molnar 
inc_syscw(struct task_struct * tsk)449a070004SIngo Molnar static inline void inc_syscw(struct task_struct *tsk)
459a070004SIngo Molnar {
469a070004SIngo Molnar }
479a070004SIngo Molnar #endif
489a070004SIngo Molnar 
49b12fb7f4SIngo Molnar #endif /* _LINUX_SCHED_XACCT_H */
50