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
bacct_add_tsk(struct user_namespace * user_ns,struct pid_namespace * pid_ns,struct taskstats * stats,struct task_struct * tsk)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
xacct_add_tsk(struct taskstats * stats,struct task_struct * p)30 static inline void xacct_add_tsk(struct taskstats *stats, struct task_struct *p)
31 {}
acct_update_integrals(struct task_struct * tsk)32 static inline void acct_update_integrals(struct task_struct *tsk)
33 {}
acct_account_cputime(struct task_struct * tsk)34 static inline void acct_account_cputime(struct task_struct *tsk)
35 {}
acct_clear_integrals(struct task_struct * tsk)36 static inline void acct_clear_integrals(struct task_struct *tsk)
37 {}
38 #endif /* CONFIG_TASK_XACCT */
39 
40 #endif
41 
42 
43