linux/kernel/sched/autogroup.c

// SPDX-License-Identifier: GPL-2.0

/*
 * Auto-group scheduling implementation:
 */

unsigned int __read_mostly sysctl_sched_autogroup_enabled =;
static struct autogroup autogroup_default;
static atomic_t autogroup_seq_nr;

#ifdef CONFIG_SYSCTL
static struct ctl_table sched_autogroup_sysctls[] =;

static void __init sched_autogroup_sysctl_init(void)
{}
#else
#define sched_autogroup_sysctl_init
#endif

void __init autogroup_init(struct task_struct *init_task)
{}

void autogroup_free(struct task_group *tg)
{}

static inline void autogroup_destroy(struct kref *kref)
{}

static inline void autogroup_kref_put(struct autogroup *ag)
{}

static inline struct autogroup *autogroup_kref_get(struct autogroup *ag)
{}

static inline struct autogroup *autogroup_task_get(struct task_struct *p)
{}

static inline struct autogroup *autogroup_create(void)
{}

bool task_wants_autogroup(struct task_struct *p, struct task_group *tg)
{}

void sched_autogroup_exit_task(struct task_struct *p)
{}

static void
autogroup_move_group(struct task_struct *p, struct autogroup *ag)
{}

/* Allocates GFP_KERNEL, cannot be called under any spinlock: */
void sched_autogroup_create_attach(struct task_struct *p)
{}
EXPORT_SYMBOL();

/* Cannot be called under siglock. Currently has no users: */
void sched_autogroup_detach(struct task_struct *p)
{}
EXPORT_SYMBOL();

void sched_autogroup_fork(struct signal_struct *sig)
{}

void sched_autogroup_exit(struct signal_struct *sig)
{}

static int __init setup_autogroup(char *str)
{}
__setup();

#ifdef CONFIG_PROC_FS

int proc_sched_autogroup_set_nice(struct task_struct *p, int nice)
{}

void proc_sched_autogroup_show_task(struct task_struct *p, struct seq_file *m)
{}
#endif /* CONFIG_PROC_FS */

int autogroup_path(struct task_group *tg, char *buf, int buflen)
{}