1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* taskstats_kern.h - kernel header for per-task statistics interface
3  *
4  * Copyright (C) Shailabh Nagar, IBM Corp. 2006
5  *           (C) Balbir Singh,   IBM Corp. 2006
6  */
7 
8 #ifndef _LINUX_TASKSTATS_KERN_H
9 #define _LINUX_TASKSTATS_KERN_H
10 
11 #include <linux/taskstats.h>
12 #include <linux/sched/signal.h>
13 #include <linux/slab.h>
14 
15 #ifdef CONFIG_TASKSTATS
16 extern struct kmem_cache *taskstats_cache;
17 extern struct mutex taskstats_exit_mutex;
18 
19 static inline void taskstats_tgid_free(struct signal_struct *sig)
20 {
21 	if (sig->stats)
22 		kmem_cache_free(taskstats_cache, sig->stats);
23 }
24 
25 extern void taskstats_exit(struct task_struct *, int group_dead);
26 extern void taskstats_init_early(void);
27 #else
28 static inline void taskstats_exit(struct task_struct *tsk, int group_dead)
29 {}
30 static inline void taskstats_tgid_free(struct signal_struct *sig)
31 {}
32 static inline void taskstats_init_early(void)
33 {}
34 #endif /* CONFIG_TASKSTATS */
35 
36 #endif
37 
38