Merge tag 'trace-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / include / linux / tsacct_kern.h
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