Messages in this thread | | | Date | Tue, 7 Jan 2014 13:59:30 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH 4/4] sched: bias to target cpu load to reduce task moving |
| |
On Tue, Jan 07, 2014 at 12:55:18PM +0000, Morten Rasmussen wrote: > My understanding is that should_we_balance() decides which cpu is > eligible for doing the load balancing for a given domain (and the > domains above). That is, only one cpu in a group is allowed to load > balance between the local group and other groups. That cpu would > therefore be reponsible for pulling enough load that the groups are > balanced even if it means temporarily overloading itself. The other cpus > in the group will take care of load balancing the extra load within the > local group later.
Correct.
> I may have missed something, but I don't understand the reason for the > performance improvements that you are reporting. I see better numbers > for a few benchmarks, but I still don't understand why the code makes > sense after the cleanup. If we don't understand why it works, we cannot > be sure that it doesn't harm other benchmarks. There is always a chance > that we miss something but, IMHO, not having any idea to begin with > increases the chances for problems later significantly. So why not get > to the bottom of the problem of cleaning up cpu_load? > > Have you done more extensive benchmarking? Have you seen any regressions > in other benchmarks?
I only remember hackbench numbers and that generally fares well with a more aggressive balancer since it has no actual work to speak of the migration penalty is very low and because there's a metric ton of tasks the aggressive leveling makes for more coherent 'throughput'.
| |