* 143e1e28 sched: Rework sched_domain topology definition
@ 2014-07-20 6:43 Mike Galbraith
2014-07-20 6:52 ` Peter Zijlstra
0 siblings, 1 reply; 4+ messages in thread
From: Mike Galbraith @ 2014-07-20 6:43 UTC (permalink / raw)
To: Vincent Guittot; +Cc: Peter Zijlstra, LKML
Hi,
+/*
+ * Topology list, bottom-up.
+ */
+static struct sched_domain_topology_level default_topology[] = {
+#ifdef CONFIG_SCHED_SMT
+ { cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT) },
+#endif
+#ifdef CONFIG_SCHED_MC
+ { cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) },
+#endif
+#ifdef CONFIG_SCHED_BOOK
+ { cpu_book_mask, SD_INIT_NAME(BOOK) },
+#endif
+ { cpu_cpu_mask, SD_INIT_NAME(DIE) },
+ { NULL, },
+};
Why did this commit rename the CPU domain to DIE?
-Mike
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: 143e1e28 sched: Rework sched_domain topology definition 2014-07-20 6:43 143e1e28 sched: Rework sched_domain topology definition Mike Galbraith @ 2014-07-20 6:52 ` Peter Zijlstra 2014-07-20 7:05 ` Mike Galbraith 0 siblings, 1 reply; 4+ messages in thread From: Peter Zijlstra @ 2014-07-20 6:52 UTC (permalink / raw) To: Mike Galbraith; +Cc: Vincent Guittot, LKML [-- Attachment #1: Type: text/plain, Size: 1074 bytes --] On Sun, Jul 20, 2014 at 08:43:36AM +0200, Mike Galbraith wrote: > Hi, > > +/* > + * Topology list, bottom-up. > + */ > +static struct sched_domain_topology_level default_topology[] = { > +#ifdef CONFIG_SCHED_SMT > + { cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT) }, > +#endif > +#ifdef CONFIG_SCHED_MC > + { cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) }, > +#endif > +#ifdef CONFIG_SCHED_BOOK > + { cpu_book_mask, SD_INIT_NAME(BOOK) }, > +#endif > + { cpu_cpu_mask, SD_INIT_NAME(DIE) }, > + { NULL, }, > +}; > > Why did this commit rename the CPU domain to DIE? Because they're both wrong, but we found that DIE was less wrong than CPU. Seeing how CPU typically means 1 logical, well, CPU, in the scheduler, and not the package you stick on your board. We chose DIE over PACKAGE due to 1) its shorter name and 2) things like interlagos which have multiple DIEs in one PACKAGE etc.. Also, the only person who would ever care is the one who (with SCHED_DEBUG) enabled looks at the topology setup, which is maybe all of us 5. [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 143e1e28 sched: Rework sched_domain topology definition 2014-07-20 6:52 ` Peter Zijlstra @ 2014-07-20 7:05 ` Mike Galbraith 2014-07-20 7:19 ` Mike Galbraith 0 siblings, 1 reply; 4+ messages in thread From: Mike Galbraith @ 2014-07-20 7:05 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Vincent Guittot, LKML On Sun, 2014-07-20 at 08:52 +0200, Peter Zijlstra wrote: > On Sun, Jul 20, 2014 at 08:43:36AM +0200, Mike Galbraith wrote: > > Hi, > > > > +/* > > + * Topology list, bottom-up. > > + */ > > +static struct sched_domain_topology_level default_topology[] = { > > +#ifdef CONFIG_SCHED_SMT > > + { cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT) }, > > +#endif > > +#ifdef CONFIG_SCHED_MC > > + { cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) }, > > +#endif > > +#ifdef CONFIG_SCHED_BOOK > > + { cpu_book_mask, SD_INIT_NAME(BOOK) }, > > +#endif > > + { cpu_cpu_mask, SD_INIT_NAME(DIE) }, > > + { NULL, }, > > +}; > > > > Why did this commit rename the CPU domain to DIE? > > Because they're both wrong, but we found that DIE was less wrong than > CPU. Ok, doesn't matter anyway, just looks peculiar. > Seeing how CPU typically means 1 logical, well, CPU, in the scheduler, > and not the package you stick on your board. > > We chose DIE over PACKAGE due to 1) its shorter name and 2) things like > interlagos which have multiple DIEs in one PACKAGE etc.. It's actually a good name for some NUMA topologies. You don't ever want to see a CPU domain, that sucks cycles, so calling it DIE is fine :) > Also, the only person who would ever care is the one who (with > SCHED_DEBUG) enabled looks at the topology setup, which is maybe all of > us 5. Maybe a few more, but yeah, not many would care what you called it. -Mike ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: 143e1e28 sched: Rework sched_domain topology definition 2014-07-20 7:05 ` Mike Galbraith @ 2014-07-20 7:19 ` Mike Galbraith 0 siblings, 0 replies; 4+ messages in thread From: Mike Galbraith @ 2014-07-20 7:19 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Vincent Guittot, LKML On Sun, 2014-07-20 at 09:05 +0200, Mike Galbraith wrote: > On Sun, 2014-07-20 at 08:52 +0200, Peter Zijlstra wrote: > > On Sun, Jul 20, 2014 at 08:43:36AM +0200, Mike Galbraith wrote: > > > Hi, > > > > > > +/* > > > + * Topology list, bottom-up. > > > + */ > > > +static struct sched_domain_topology_level default_topology[] = { > > > +#ifdef CONFIG_SCHED_SMT > > > + { cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT) }, > > > +#endif > > > +#ifdef CONFIG_SCHED_MC > > > + { cpu_coregroup_mask, cpu_core_flags, SD_INIT_NAME(MC) }, > > > +#endif > > > +#ifdef CONFIG_SCHED_BOOK > > > + { cpu_book_mask, SD_INIT_NAME(BOOK) }, > > > +#endif > > > + { cpu_cpu_mask, SD_INIT_NAME(DIE) }, > > > + { NULL, }, > > > +}; > > > > > > Why did this commit rename the CPU domain to DIE? > > > > Because they're both wrong, but we found that DIE was less wrong than > > CPU. > > Ok, doesn't matter anyway, just looks peculiar. > > > Seeing how CPU typically means 1 logical, well, CPU, in the scheduler, > > and not the package you stick on your board. > > > > We chose DIE over PACKAGE due to 1) its shorter name and 2) things like > > interlagos which have multiple DIEs in one PACKAGE etc.. > > It's actually a good name for some NUMA topologies. You don't ever want > to see a CPU domain, that sucks cycles, so calling it DIE is fine :) Like this 8 socket box. CPU domain with weight 64 stings. vogelweide:~/:[0]# tune-sched-domains usage: tune-sched-domains <val> {cpu0/domain0:MC} SD flag: 559 + 1: SD_LOAD_BALANCE: Do load balancing on this domain + 2: SD_BALANCE_NEWIDLE: Balance when about to become idle + 4: SD_BALANCE_EXEC: Balance on exec + 8: SD_BALANCE_FORK: Balance on fork, clone - 16: SD_BALANCE_WAKE: Wake to idle CPU on task wakeup + 32: SD_WAKE_AFFINE: Wake task to waking CPU - 64: SD_PREFER_LOCAL: Prefer to keep tasks local to this domain - 128: SD_SHARE_CPUPOWER: Domain members share cpu power - 256: SD_POWERSAVINGS_BALANCE: Balance for power savings + 512: SD_SHARE_PKG_RESOURCES: Domain members share cpu pkg resources -1024: SD_SERIALIZE: Only a single load balancing instance -2048: SD_ASYM_PACKING: Place busy groups earlier in the domain -4096: SD_PREFER_SIBLING: Prefer to place tasks in a sibling domain -8192: SD_PREFER_UTILIZATION: Prefer utilization over SMP nice {cpu0/domain1:CPU} SD flag: 4143 + 1: SD_LOAD_BALANCE: Do load balancing on this domain + 2: SD_BALANCE_NEWIDLE: Balance when about to become idle + 4: SD_BALANCE_EXEC: Balance on exec + 8: SD_BALANCE_FORK: Balance on fork, clone - 16: SD_BALANCE_WAKE: Wake to idle CPU on task wakeup + 32: SD_WAKE_AFFINE: Wake task to waking CPU - 64: SD_PREFER_LOCAL: Prefer to keep tasks local to this domain - 128: SD_SHARE_CPUPOWER: Domain members share cpu power - 256: SD_POWERSAVINGS_BALANCE: Balance for power savings - 512: SD_SHARE_PKG_RESOURCES: Domain members share cpu pkg resources -1024: SD_SERIALIZE: Only a single load balancing instance -2048: SD_ASYM_PACKING: Place busy groups earlier in the domain +4096: SD_PREFER_SIBLING: Prefer to place tasks in a sibling domain -8192: SD_PREFER_UTILIZATION: Prefer utilization over SMP nice ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-07-20 7:19 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-20 6:43 143e1e28 sched: Rework sched_domain topology definition Mike Galbraith 2014-07-20 6:52 ` Peter Zijlstra 2014-07-20 7:05 ` Mike Galbraith 2014-07-20 7:19 ` Mike Galbraith
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.