2005-04-16 18:20:36 -04:00
|
|
|
#ifndef _LINUX_CPUSET_H
|
|
|
|
#define _LINUX_CPUSET_H
|
|
|
|
/*
|
|
|
|
* cpuset interface
|
|
|
|
*
|
|
|
|
* Copyright (C) 2003 BULL SA
|
|
|
|
* Copyright (C) 2004 Silicon Graphics, Inc.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <linux/sched.h>
|
|
|
|
#include <linux/cpumask.h>
|
|
|
|
#include <linux/nodemask.h>
|
|
|
|
|
|
|
|
#ifdef CONFIG_CPUSETS
|
|
|
|
|
|
|
|
extern int cpuset_init(void);
|
|
|
|
extern void cpuset_init_smp(void);
|
|
|
|
extern void cpuset_fork(struct task_struct *p);
|
|
|
|
extern void cpuset_exit(struct task_struct *p);
|
2005-04-16 18:25:59 -04:00
|
|
|
extern cpumask_t cpuset_cpus_allowed(const struct task_struct *p);
|
2005-04-16 18:20:36 -04:00
|
|
|
void cpuset_init_current_mems_allowed(void);
|
|
|
|
void cpuset_update_current_mems_allowed(void);
|
|
|
|
void cpuset_restrict_to_mems_allowed(unsigned long *nodes);
|
|
|
|
int cpuset_zonelist_valid_mems_allowed(struct zonelist *zl);
|
2005-10-07 02:46:04 -04:00
|
|
|
extern int cpuset_zone_allowed(struct zone *z, gfp_t gfp_mask);
|
2005-09-06 18:18:13 -04:00
|
|
|
extern int cpuset_excl_nodes_overlap(const struct task_struct *p);
|
2005-04-16 18:20:36 -04:00
|
|
|
extern struct file_operations proc_cpuset_operations;
|
|
|
|
extern char *cpuset_task_status_allowed(struct task_struct *task, char *buffer);
|
|
|
|
|
|
|
|
#else /* !CONFIG_CPUSETS */
|
|
|
|
|
|
|
|
static inline int cpuset_init(void) { return 0; }
|
|
|
|
static inline void cpuset_init_smp(void) {}
|
|
|
|
static inline void cpuset_fork(struct task_struct *p) {}
|
|
|
|
static inline void cpuset_exit(struct task_struct *p) {}
|
|
|
|
|
|
|
|
static inline cpumask_t cpuset_cpus_allowed(struct task_struct *p)
|
|
|
|
{
|
|
|
|
return cpu_possible_map;
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void cpuset_init_current_mems_allowed(void) {}
|
|
|
|
static inline void cpuset_update_current_mems_allowed(void) {}
|
|
|
|
static inline void cpuset_restrict_to_mems_allowed(unsigned long *nodes) {}
|
|
|
|
|
|
|
|
static inline int cpuset_zonelist_valid_mems_allowed(struct zonelist *zl)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-10-07 02:46:04 -04:00
|
|
|
static inline int cpuset_zone_allowed(struct zone *z, gfp_t gfp_mask)
|
2005-04-16 18:20:36 -04:00
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-09-06 18:18:13 -04:00
|
|
|
static inline int cpuset_excl_nodes_overlap(const struct task_struct *p)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-04-16 18:20:36 -04:00
|
|
|
static inline char *cpuset_task_status_allowed(struct task_struct *task,
|
|
|
|
char *buffer)
|
|
|
|
{
|
|
|
|
return buffer;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* !CONFIG_CPUSETS */
|
|
|
|
|
|
|
|
#endif /* _LINUX_CPUSET_H */
|