Messages in this thread | | | Subject | Re: [RFC PATCH v3 00/16] Core scheduling v3 | From | Dario Faggioli <> | Date | Thu, 15 Aug 2019 18:09:28 +0200 |
| |
On Wed, 2019-08-07 at 10:10 -0700, Tim Chen wrote: > On 8/7/19 1:58 AM, Dario Faggioli wrote: > > > Since I see that, in this thread, there are various patches being > > proposed and discussed... should I rerun my benchmarks with them > > applied? If yes, which ones? And is there, by any chance, one (or > > maybe > > more than one) updated git branch(es)? > > > Hi Dario, > Hi Tim!
> Having an extra set of eyes are certainly welcomed. > I'll give my 2 cents on the issues with v3. > Ok, and thanks a lot for this.
> 1) Unfairness between the sibling threads > ----------------------------------------- > One sibling thread could be suppressing and force idling > the sibling thread over proportionally. Resulting in > the force idled CPU not getting run and stall tasks on > suppressed CPU. > > > [...] > > 2) Not rescheduling forced idled CPU > ------------------------------------ > The forced idled CPU does not get a chance to re-schedule > itself, and will stall for a long time even though it > has eligible tasks to run. > > [...] > > 3) Load balancing between CPU cores > ----------------------------------- > Say if one CPU core's sibling threads get forced idled > a lot as it has mostly incompatible tasks between the siblings, > moving the incompatible load to other cores and pulling > compatible load to the core could help CPU utilization. > > So just considering the load of a task is not enough during > load balancing, task compatibility also needs to be considered. > Peter has put in mechanisms to balance compatible tasks between > CPU thread siblings, but not across cores. > > [...] > Ok. Yes, as said, I've been trying to follow the thread, but thanks a lot again for this summary.
As said, I'm about to have numbers for the repo/branch I mentioned.
I was considering whether to also re-run the benchmarking campaign with some of the patches that floated around within this thread. Now, thanks to your summary, I have an even clearer picture about which patch does what, and that is indeed very useful.
I'll see about putting something together. I'm thinking of picking:
https://lore.kernel.org/lkml/b7a83fcb-5c34-9794-5688-55c52697fd84@linux.intel.com/ https://lore.kernel.org/lkml/20190725143344.GD992@aaronlu/
And maybe even (part of): https://lore.kernel.org/lkml/20190810141556.GA73644@aaronlu/#t
If anyone has ideas or suggestions about whether or not this choice makes sense, feel free to share. :-)
Also, I only have another week before leaving, so let's see what I manage to actually run, and then share here, by then.
Thanks and Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
[unhandled content-type:application/pgp-signature] | |