* [PATCH 1/5] cpusets: add basic variables
@ 2012-07-17 9:03 Michael Wang
0 siblings, 0 replies; only message in thread
From: Michael Wang @ 2012-07-17 9:03 UTC (permalink / raw)
To: LKML; +Cc: mingo, Peter Zijlstra, paul
From: Michael Wang <wangyun@linux.vnet.ibm.com>
Add the variables we need for the implementation of dynamical domain
flags.
Signed-off-by: Michael Wang <wangyun@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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-07-17 9:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-17 9:03 [PATCH 1/5] cpusets: add basic variables Michael Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.