Prev: [GIT PULL] ext4 update for 2.6.36
Next: [PATCH] sched: pass sched_domain_level to sched_power_savings_store
From: Suresh Siddha on 13 Aug 2010 17:20 On Thu, 2010-08-12 at 10:25 -0700, Heiko Carstens wrote: > From: Heiko Carstens <heiko.carstens(a)de.ibm.com> > > Merge and simplify the two cpu_to_core_group variants so that the > resulting function follows the same pattern like cpu_to_phys_group. > > Signed-off-by: Heiko Carstens <heiko.carstens(a)de.ibm.com> > --- > > kernel/sched.c | 18 +++++------------- > 1 file changed, 5 insertions(+), 13 deletions(-) > > diff -urpN linux-2.6/kernel/sched.c linux-2.6-patched/kernel/sched.c > --- linux-2.6/kernel/sched.c 2010-08-11 13:47:16.000000000 +0200 > +++ linux-2.6-patched/kernel/sched.c 2010-08-11 13:47:22.000000000 +0200 > @@ -6546,31 +6546,23 @@ cpu_to_cpu_group(int cpu, const struct c > #ifdef CONFIG_SCHED_MC > static DEFINE_PER_CPU(struct static_sched_domain, core_domains); > static DEFINE_PER_CPU(struct static_sched_group, sched_group_core); > -#endif /* CONFIG_SCHED_MC */ > > -#if defined(CONFIG_SCHED_MC) && defined(CONFIG_SCHED_SMT) > static int > cpu_to_core_group(int cpu, const struct cpumask *cpu_map, > struct sched_group **sg, struct cpumask *mask) > { > int group; > - > +#ifdef CONFIG_SCHED_SMT > cpumask_and(mask, topology_thread_cpumask(cpu), cpu_map); > group = cpumask_first(mask); > +#else > + group = cpu; > +#endif > if (sg) > *sg = &per_cpu(sched_group_core, group).sg; > return group; > } > -#elif defined(CONFIG_SCHED_MC) > -static int > -cpu_to_core_group(int cpu, const struct cpumask *cpu_map, > - struct sched_group **sg, struct cpumask *unused) > -{ > - if (sg) > - *sg = &per_cpu(sched_group_core, cpu).sg; > - return cpu; > -} > -#endif > +#endif /* CONFIG_SCHED_MC */ > > static DEFINE_PER_CPU(struct static_sched_domain, phys_domains); > static DEFINE_PER_CPU(struct static_sched_group, sched_group_phys); Reason why this code was structured like this was because of the feedback from Andrew Morton. http://lkml.org/lkml/2006/1/27/308 May be we can further clean all this code up as part of your new proposal. I can help in some of this. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |