• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* taskstats_kern.h - kernel header for per-task statistics interface
2  *
3  * Copyright (C) Shailabh Nagar, IBM Corp. 2006
4  *           (C) Balbir Singh,   IBM Corp. 2006
5  */
6 
7 #ifndef _LINUX_TASKSTATS_KERN_H
8 #define _LINUX_TASKSTATS_KERN_H
9 
10 #include <linux/taskstats.h>
11 #include <linux/sched.h>
12 #include <net/genetlink.h>
13 
14 #ifdef CONFIG_TASKSTATS
15 extern struct kmem_cache *taskstats_cache;
16 extern struct mutex taskstats_exit_mutex;
17 
taskstats_tgid_init(struct signal_struct * sig)18 static inline void taskstats_tgid_init(struct signal_struct *sig)
19 {
20 	sig->stats = NULL;
21 }
22 
taskstats_tgid_free(struct signal_struct * sig)23 static inline void taskstats_tgid_free(struct signal_struct *sig)
24 {
25 	if (sig->stats)
26 		kmem_cache_free(taskstats_cache, sig->stats);
27 }
28 
29 extern void taskstats_exit(struct task_struct *, int group_dead);
30 extern void taskstats_init_early(void);
31 #else
taskstats_exit(struct task_struct * tsk,int group_dead)32 static inline void taskstats_exit(struct task_struct *tsk, int group_dead)
33 {}
taskstats_tgid_init(struct signal_struct * sig)34 static inline void taskstats_tgid_init(struct signal_struct *sig)
35 {}
taskstats_tgid_free(struct signal_struct * sig)36 static inline void taskstats_tgid_free(struct signal_struct *sig)
37 {}
taskstats_init_early(void)38 static inline void taskstats_init_early(void)
39 {}
40 #endif /* CONFIG_TASKSTATS */
41 
42 #endif
43 
44