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 taskstats_tgid_free(struct signal_struct * sig)19static 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 taskstats_exit(struct task_struct * tsk,int group_dead)28static inline void taskstats_exit(struct task_struct *tsk, int group_dead) 29 {} taskstats_tgid_free(struct signal_struct * sig)30static inline void taskstats_tgid_free(struct signal_struct *sig) 31 {} taskstats_init_early(void)32static inline void taskstats_init_early(void) 33 {} 34 #endif /* CONFIG_TASKSTATS */ 35 36 #endif 37 38