2005-04-17 06:20:36 +08: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-17 06:25:59 +08:00
|
|
|
extern cpumask_t cpuset_cpus_allowed(const struct task_struct *p);
|
2005-04-17 06:20:36 +08:00
|
|
|
void cpuset_init_current_mems_allowed(void);
|
|
|
|
void cpuset_update_current_mems_allowed(void);
|
2006-01-08 17:01:47 +08:00
|
|
|
#define cpuset_nodes_subset_current_mems_allowed(nodes) \
|
|
|
|
nodes_subset((nodes), current->mems_allowed)
|
2005-04-17 06:20:36 +08:00
|
|
|
int cpuset_zonelist_valid_mems_allowed(struct zonelist *zl);
|
2005-10-07 14:46:04 +08:00
|
|
|
extern int cpuset_zone_allowed(struct zone *z, gfp_t gfp_mask);
|
2005-09-07 06:18:13 +08:00
|
|
|
extern int cpuset_excl_nodes_overlap(const struct task_struct *p);
|
2005-04-17 06:20:36 +08: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) {}
|
2006-01-08 17:01:47 +08:00
|
|
|
#define cpuset_nodes_subset_current_mems_allowed(nodes) (1)
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
static inline int cpuset_zonelist_valid_mems_allowed(struct zonelist *zl)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-10-07 14:46:04 +08:00
|
|
|
static inline int cpuset_zone_allowed(struct zone *z, gfp_t gfp_mask)
|
2005-04-17 06:20:36 +08:00
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-09-07 06:18:13 +08:00
|
|
|
static inline int cpuset_excl_nodes_overlap(const struct task_struct *p)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
static inline char *cpuset_task_status_allowed(struct task_struct *task,
|
|
|
|
char *buffer)
|
|
|
|
{
|
|
|
|
return buffer;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* !CONFIG_CPUSETS */
|
|
|
|
|
|
|
|
#endif /* _LINUX_CPUSET_H */
|