On Thu, Aug 18, 2016 at 03:36:42PM -0700, Srinivas Pandruvada wrote: > From: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> > > The current rebuild_sched_domains will only rebuild the sched domains > unless the cpumask changes. However, in some scenarios when the > topology flag value changes, it will not rebuild the sched domain. > > We create a regenerate_sched_domains function that will always > rebuild all the sched domains to take care of this scenario. [...] > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -7081,7 +7082,7 @@ void partition_sched_domains(int ndoms_new, cpumask_var_t doms_new[], > unregister_sched_domain_sysctl(); > > /* Let architecture update cpu core mappings. */ > - new_topology = arch_update_cpu_topology(); > + new_topology = arch_update_cpu_topology() | need_domain_rebuild; You can force rebuild_sched_domains() to rebuild the sched_domain hierarchy by just implementing arch_update_cpu_topology(). Make it return 1 when you want the hierarchy to be updated. Implementing another forcing mechanism seems redundant. I must be missing something? I just did exactly that to set the SD_ASYM_CPUCAPACITY flag for big.LITTLE platforms on arm/arm64 as we don't know if the flag should be set until cpufreq has initialized. Morten -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html