Messages in this thread | | | Date | Fri, 16 Aug 2019 10:33:09 +0800 | From | Aaron Lu <> | Subject | Re: [RFC PATCH v3 00/16] Core scheduling v3 |
| |
On Thu, Aug 15, 2019 at 06:09:28PM +0200, Dario Faggioli wrote: > 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. :-)
Makes sense to me. patch3 in the last link is slightly better than the one in the 2nd link, so just use that instead.
Thanks, Aaron
> 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) >
| |