autogroup.h (1229B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _LINUX_SCHED_AUTOGROUP_H 3#define _LINUX_SCHED_AUTOGROUP_H 4 5struct signal_struct; 6struct task_struct; 7struct task_group; 8struct seq_file; 9 10#ifdef CONFIG_SCHED_AUTOGROUP 11extern void sched_autogroup_create_attach(struct task_struct *p); 12extern void sched_autogroup_detach(struct task_struct *p); 13extern void sched_autogroup_fork(struct signal_struct *sig); 14extern void sched_autogroup_exit(struct signal_struct *sig); 15extern void sched_autogroup_exit_task(struct task_struct *p); 16#ifdef CONFIG_PROC_FS 17extern void proc_sched_autogroup_show_task(struct task_struct *p, struct seq_file *m); 18extern int proc_sched_autogroup_set_nice(struct task_struct *p, int nice); 19#endif 20#else 21static inline void sched_autogroup_create_attach(struct task_struct *p) { } 22static inline void sched_autogroup_detach(struct task_struct *p) { } 23static inline void sched_autogroup_fork(struct signal_struct *sig) { } 24static inline void sched_autogroup_exit(struct signal_struct *sig) { } 25static inline void sched_autogroup_exit_task(struct task_struct *p) { } 26#endif 27 28#ifdef CONFIG_CGROUP_SCHED 29extern struct task_group root_task_group; 30#endif /* CONFIG_CGROUP_SCHED */ 31 32#endif /* _LINUX_SCHED_AUTOGROUP_H */