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
14extern 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
18static 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
25extern void xacct_add_tsk(struct taskstats *stats, struct task_struct *p);
26extern void acct_update_integrals(struct task_struct *tsk);
27extern void acct_account_cputime(struct task_struct *tsk);
28extern void acct_clear_integrals(struct task_struct *tsk);
29#else
30static inline void xacct_add_tsk(struct taskstats *stats, struct task_struct *p)
31{}
32static inline void acct_update_integrals(struct task_struct *tsk)
33{}
34static inline void acct_account_cputime(struct task_struct *tsk)
35{}
36static inline void acct_clear_integrals(struct task_struct *tsk)
37{}
38#endif /* CONFIG_TASK_XACCT */
39
40#endif
41
42
43