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 | |