Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1470650
| From | Morten Rasmussen <morten.rasmussen@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 03/11] sched: Extend scheduler's asym packing |
| Date | 2016-08-26 12:40 +0200 |
| Message-ID | <samIh-5K7-21@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <s7GDv-7k3-29@gated-at.bofh.it> <sa117-jg-13@gated-at.bofh.it> <sa1kt-qZ-3@gated-at.bofh.it> <sa2Tf-1tU-15@gated-at.bofh.it> <sa3cB-1AH-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Aug 25, 2016 at 03:45:03PM +0200, Peter Zijlstra wrote: > On Thu, Aug 25, 2016 at 02:18:37PM +0100, Morten Rasmussen wrote: > > > But why not just pass the customized list into the scheduler? Seems > > simpler? > > Mostly because I didn't want to regress Power I suppose. The ITMT stuff > needs an extra load, whereas the Power stuff can use the CPU number we > already have. The customized list wouldn't have to be mandatory. You could easily create a default list that would match current behaviour for Power. To pass in a custom list of priorities you could either extend struct sched_domain_topology_level to have another function pointer that returns the cpu priority, or introduce an arch_cpu_priotity() function. Either of them could be used in the sched_domain hierarchy to set the sched_group priority cpu and if you add a rq->cpu_priority, the asymmetric packing comparison would be a simple comparison between rq->cpu_priority of the two cpus in question. What is the 'extra load' needed for ITMT? Isn't it just a priority list, or does the absolute priority value have a meaning? I only saw it used for less_than comparison, maybe I missed it. If you need to express the difference in compute capability, why not use capacity? > Also, since we need an interface to pass in this custom list, I don't > see the distinction, you can do the same manipulation by constantly > updating the prio list. Sure, but the overhead of rebuilding the sched_domain hierarchy is huge compared to just tweaking the result of the less_than operator that get called from the scheduler frequently. However, updating group_priority_cpu() would require a rebuild too in this patch set. > But not of this stuff should be EXPORT'ed, so its only available to the > core kernel, which greatly limits the potential for abuse. We can see > arch code just fine. I don't see why it can't be wired up to be controlled by entities outside arch code, e.g. cpufreq or the thermal framework, or even code outside the kernel (firmware). > And if you spin a custom kernel, you can already wreck the load > balancer. You can wreck any software where you have the source code and a compiler :)
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Morten Rasmussen <morten.rasmussen@arm.com> - 2016-08-25 13:30 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Peter Zijlstra <peterz@infradead.org> - 2016-08-25 13:50 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Morten Rasmussen <morten.rasmussen@arm.com> - 2016-08-25 15:30 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Peter Zijlstra <peterz@infradead.org> - 2016-08-25 15:50 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Morten Rasmussen <morten.rasmussen@arm.com> - 2016-08-26 12:40 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Peter Zijlstra <peterz@infradead.org> - 2016-08-26 14:50 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Tim Chen <tim.c.chen@linux.intel.com> - 2016-08-26 19:30 +0200
Re: [PATCH 03/11] sched: Extend scheduler's asym packing Tim Chen <tim.c.chen@linux.intel.com> - 2016-08-27 01:20 +0200
csiph-web