From b7b5f082cbd029a84186c01a826e311126a3639c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Thu, 9 Oct 2008 11:35:51 +0200 Subject: [PATCH] --- yaml --- r: 110741 b: refs/heads/master c: a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293 h: refs/heads/master i: 110739: 1128db30aba937ecc31456e39505aa3caf92802b v: v3 --- [refs] | 2 +- trunk/include/linux/sched.h | 3 +++ trunk/kernel/sched.c | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 4387a79e7f82..b3051616db5c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2fb7635c4cea310992a39580133099dd99ad151c +refs/heads/master: a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293 diff --git a/trunk/include/linux/sched.h b/trunk/include/linux/sched.h index d8e699b55858..5d0819ee442a 100644 --- a/trunk/include/linux/sched.h +++ b/trunk/include/linux/sched.h @@ -824,6 +824,9 @@ struct sched_domain { unsigned int ttwu_move_affine; unsigned int ttwu_move_balance; #endif +#ifdef CONFIG_SCHED_DEBUG + char *name; +#endif }; extern void partition_sched_domains(int ndoms_new, cpumask_t *doms_new, diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 9715f4ce6cfe..6f230596bd0c 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -6351,7 +6351,7 @@ set_table_entry(struct ctl_table *entry, static struct ctl_table * sd_alloc_ctl_domain_table(struct sched_domain *sd) { - struct ctl_table *table = sd_alloc_ctl_entry(12); + struct ctl_table *table = sd_alloc_ctl_entry(13); if (table == NULL) return NULL; @@ -6379,7 +6379,9 @@ sd_alloc_ctl_domain_table(struct sched_domain *sd) sizeof(int), 0644, proc_dointvec_minmax); set_table_entry(&table[10], "flags", &sd->flags, sizeof(int), 0644, proc_dointvec_minmax); - /* &table[11] is terminator */ + set_table_entry(&table[11], "name", sd->name, + CORENAME_MAX_SIZE, 0444, proc_dostring); + /* &table[12] is terminator */ return table; } @@ -7263,13 +7265,21 @@ static void init_sched_groups_power(int cpu, struct sched_domain *sd) * Non-inlined to reduce accumulated stack pressure in build_sched_domains() */ +#ifdef CONFIG_SCHED_DEBUG +# define SD_INIT_NAME(sd, type) sd->name = #type +#else +# define SD_INIT_NAME(sd, type) do { } while (0) +#endif + #define SD_INIT(sd, type) sd_init_##type(sd) + #define SD_INIT_FUNC(type) \ static noinline void sd_init_##type(struct sched_domain *sd) \ { \ memset(sd, 0, sizeof(*sd)); \ *sd = SD_##type##_INIT; \ sd->level = SD_LV_##type; \ + SD_INIT_NAME(sd, type); \ } SD_INIT_FUNC(CPU)