Message ID | 1473373615-51427-5-git-send-email-srinivas.pandruvada@linux.intel.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Thu, 8 Sep 2016, Srinivas Pandruvada wrote: How is this related to sched? And please stop writing lengthy sentences in the subject line. > From: Tim Chen <tim.c.chen@linux.intel.com> > > Provides x86 with arch_update_cpu_topology function. This function > allows us to indicate that a condition is detected that the sched > domain of x86 needs a complete rebuild. scheduler domains are not x86 specific .... > This is done by setting the x86_topology_update flag. So without reading the patch I expect that the function sets the x86_topology_update flag. Crap. What you really want to say is: The scheduler calls arch_update_cpu_topology() to check whether the scheduler domains have to be rebuilt. So far x86 has no requirement for this, but the upcoming IMTI support makes this necessary. Request the rebuild when the x86 internal update flag is set. Or something along these lines. Changelog is a important part of a patch, really.. > +/* Flag to indicate if a complete sched domain rebuild is required */ > +bool x86_topology_update; > + > +int arch_update_cpu_topology(void) > +{ > + if (x86_topology_update) { > + x86_topology_update = false; > + return 1; > + } else > + return 0; That lacks braces around the else path, but why aren't you just doing the obvious: if (!x86_topology_update) return false; x86_topology_update = false; return true; That would be too simple to read, right?; Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sat, 2016-09-10 at 18:20 +0200, Thomas Gleixner wrote: > On Thu, 8 Sep 2016, Srinivas Pandruvada wrote: > > How is this related to sched? And please stop writing lengthy sentences in > the subject line. > > From: Tim Chen <tim.c.chen@linux.intel.com> > > > > Provides x86 with arch_update_cpu_topology function. This function > > allows us to indicate that a condition is detected that the sched > > domain of x86 needs a complete rebuild. > scheduler domains are not x86 specific .... > > > > This is done by setting the x86_topology_update flag. > So without reading the patch I expect that the function sets the > x86_topology_update flag. Crap. > > What you really want to say is: > > The scheduler calls arch_update_cpu_topology() to check whether the > scheduler domains have to be rebuilt. > > So far x86 has no requirement for this, but the upcoming IMTI support > makes this necessary. > > Request the rebuild when the x86 internal update flag is set. > > Or something along these lines. Changelog is a important part of a patch, > really.. Sure. Will do. > > > > > +/* Flag to indicate if a complete sched domain rebuild is required */ > > +bool x86_topology_update; > > + > > +int arch_update_cpu_topology(void) > > +{ > > + if (x86_topology_update) { > > + x86_topology_update = false; > > + return 1; > > + } else > > + return 0; > That lacks braces around the else path, but why aren't you just doing the > obvious: > > if (!x86_topology_update) > return false; > > x86_topology_update = false; > return true; > > That would be too simple to read, right?; Sure. Will do. > > Thanks, > > tglx -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/include/asm/topology.h b/arch/x86/include/asm/topology.h index 0bcf3b7..8d6df77 100644 --- a/arch/x86/include/asm/topology.h +++ b/arch/x86/include/asm/topology.h @@ -147,6 +147,8 @@ struct pci_bus; int x86_pci_root_bus_node(int bus); void x86_pci_root_bus_resources(int bus, struct list_head *resources); +extern bool x86_topology_update; + #ifdef CONFIG_SCHED_ITMT extern unsigned int __read_mostly sysctl_sched_itmt_enabled; #endif /* CONFIG_SCHED_ITMT */ diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 292df31..737b9edf 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -110,6 +110,17 @@ static bool logical_packages_frozen __read_mostly; int __max_smt_threads __read_mostly; unsigned int __read_mostly sysctl_sched_itmt_enabled; +/* Flag to indicate if a complete sched domain rebuild is required */ +bool x86_topology_update; + +int arch_update_cpu_topology(void) +{ + if (x86_topology_update) { + x86_topology_update = false; + return 1; + } else + return 0; +} static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip) {