1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * tsacct_kern.h - kernel header for system accounting over taskstats interface 4 * 5 * Copyright (C) Jay Lan SGI 6 */ 7 8 #ifndef _LINUX_TSACCT_KERN_H 9 #define _LINUX_TSACCT_KERN_H 10 11 #include <linux/taskstats.h> 12 13 #ifdef CONFIG_TASKSTATS 14 extern void bacct_add_tsk(struct user_namespace *user_ns, 15 struct pid_namespace *pid_ns, 16 struct taskstats *stats, struct task_struct *tsk); 17 #else 18 static inline void bacct_add_tsk(struct user_namespace *user_ns, 19 struct pid_namespace *pid_ns, 20 struct taskstats *stats, struct task_struct *tsk) 21 {} 22 #endif /* CONFIG_TASKSTATS */ 23 24 #ifdef CONFIG_TASK_XACCT 25 extern void xacct_add_tsk(struct taskstats *stats, struct task_struct *p); 26 extern void acct_update_integrals(struct task_struct *tsk); 27 extern void acct_account_cputime(struct task_struct *tsk); 28 extern void acct_clear_integrals(struct task_struct *tsk); 29 #else 30 static inline void xacct_add_tsk(struct taskstats *stats, struct task_struct *p) 31 {} 32 static inline void acct_update_integrals(struct task_struct *tsk) 33 {} 34 static inline void acct_account_cputime(struct task_struct *tsk) 35 {} 36 static inline void acct_clear_integrals(struct task_struct *tsk) 37 {} 38 #endif /* CONFIG_TASK_XACCT */ 39 40 #endif 41 42 43