#ifndef __CPUSET_INTERNAL_H
#define __CPUSET_INTERNAL_H
#include <linux/cgroup.h>
#include <linux/cpu.h>
#include <linux/cpumask.h>
#include <linux/cpuset.h>
#include <linux/spinlock.h>
#include <linux/union_find.h>
struct fmeter { … };
enum prs_errcode { … };
cpuset_flagbits_t;
cpuset_filetype_t;
struct cpuset { … };
static inline struct cpuset *css_cs(struct cgroup_subsys_state *css)
{ … }
static inline struct cpuset *task_cs(struct task_struct *task)
{ … }
static inline struct cpuset *parent_cs(struct cpuset *cs)
{ … }
static inline bool is_cpuset_online(struct cpuset *cs)
{ … }
static inline int is_cpu_exclusive(const struct cpuset *cs)
{ … }
static inline int is_mem_exclusive(const struct cpuset *cs)
{ … }
static inline int is_mem_hardwall(const struct cpuset *cs)
{ … }
static inline int is_sched_load_balance(const struct cpuset *cs)
{ … }
static inline int is_memory_migrate(const struct cpuset *cs)
{ … }
static inline int is_spread_page(const struct cpuset *cs)
{ … }
static inline int is_spread_slab(const struct cpuset *cs)
{ … }
#define cpuset_for_each_child(child_cs, pos_css, parent_cs) …
#define cpuset_for_each_descendant_pre(des_cs, pos_css, root_cs) …
void rebuild_sched_domains_locked(void);
void cpuset_callback_lock_irq(void);
void cpuset_callback_unlock_irq(void);
void cpuset_update_tasks_cpumask(struct cpuset *cs, struct cpumask *new_cpus);
void cpuset_update_tasks_nodemask(struct cpuset *cs);
int cpuset_update_flag(cpuset_flagbits_t bit, struct cpuset *cs, int turning_on);
ssize_t cpuset_write_resmask(struct kernfs_open_file *of,
char *buf, size_t nbytes, loff_t off);
int cpuset_common_seq_show(struct seq_file *sf, void *v);
#ifdef CONFIG_CPUSETS_V1
extern struct cftype cpuset1_files[];
void fmeter_init(struct fmeter *fmp);
void cpuset1_update_task_spread_flags(struct cpuset *cs,
struct task_struct *tsk);
void cpuset1_update_tasks_flags(struct cpuset *cs);
void cpuset1_hotplug_update_tasks(struct cpuset *cs,
struct cpumask *new_cpus, nodemask_t *new_mems,
bool cpus_updated, bool mems_updated);
int cpuset1_validate_change(struct cpuset *cur, struct cpuset *trial);
#else
static inline void fmeter_init(struct fmeter *fmp) {}
static inline void cpuset1_update_task_spread_flags(struct cpuset *cs,
struct task_struct *tsk) {}
static inline void cpuset1_update_tasks_flags(struct cpuset *cs) {}
static inline void cpuset1_hotplug_update_tasks(struct cpuset *cs,
struct cpumask *new_cpus, nodemask_t *new_mems,
bool cpus_updated, bool mems_updated) {}
static inline int cpuset1_validate_change(struct cpuset *cur,
struct cpuset *trial) { return 0; }
#endif
#endif