From: Michael Wang <wang...@linux.vnet.ibm.com> Add the variables we need for the implementation of dynamical domain flags.
Signed-off-by: Michael Wang <wang...@linux.vnet.ibm.com> --- include/linux/sched.h | 22 ++++++++++++++++++++++ kernel/cpuset.c | 7 +++++++ 2 files changed, 29 insertions(+), 0 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index ddc1225..9164309 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -922,8 +922,30 @@ static inline unsigned int group_first_cpu(struct sched_group *group) return cpumask_first(sched_group_cpus(group)); } +enum { +#ifdef CONFIG_SCHED_SMT + SMT_DDF, +#endif +#ifdef CONFIG_SCHED_MC + MC_DDF, +#endif +#ifdef CONFIG_SCHED_BOOK + BOOK_DDF, +#endif + CPU_DDF, + MAX_DDF, +}; + struct sched_domain_attr { int relax_domain_level; + /* + * dynamical domain flag array cover all level, only useful if + * enable_ddf is 1. + * the static domain flags will be replaced by ddf on each domain + * level dynamically in set_domain_attribute. + */ + u64 ddf[MAX_DDF]; + int enable_ddf; }; #define SD_ATTR_INIT (struct sched_domain_attr) { \ diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 0cbc631..35fb585 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -105,6 +105,13 @@ struct cpuset { /* for custom sched domain */ int relax_domain_level; + /* + * dynamical domain flag configuration for cpuset, see struct + * sched_domain_attr for detail. + */ + u64 ddf[MAX_DDF]; + int enable_ddf; + /* used for walking a cpuset hierarchy */ struct list_head stack_list; }; -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/