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/ ------------------------------------------------------------------- <> (Raistlin Majere)