Messages in this thread | | | From | Valentin Schneider <> | Subject | Re: [PATCH v3 9/9] sched/topology: Define and use shortcut pointers for wakeup sd_flag scan | Date | Thu, 16 Apr 2020 21:54:52 +0100 |
| |
On 16/04/20 16:58, Vincent Guittot wrote: >> --- >> if (wake_flags & WF_TTWU) { >> if (want_affine) { >> // We can cache that at topology buildup >> sd = highest_flag_domain(cpu, SD_WAKE_AFFINE); >> >> if (cpumask_test_cpu(prev_cpu, sched_domain_span(sd) && >> cpu != prev_cpu) >> new_cpu = wake_affine(); >> >> } >> // Directly go to select_idle_sibling() >> goto sis; >> } >> >> // !want_affine logic here >> --- >> >> This in turns mean we could get rid of SD_BALANCE_WAKE entirely... I'm a >> bit more reluctant to that only because the last SD_BALANCE_WAKE setter was > > For now, we should probably skip the additional test above: "if > (wake_flags & WF_TTWU) {" and keep SD_BALANCE_WAKE so we will continue > to loop in case of !want_affine. > > We can imagine that we might want at the end to be a bit more smart > for SD_BALANCE_WAKE and the slow path... like with the latency nice > proposal and latency-nice=19 as a example >
Good point. I'll go for the first option and see where I end up; I'd like to cache the other domain pointers if possible, I'll do some benchmarking and see if I can do that without another switch case.
>> removed fairly recently, see >> a526d466798d ("sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems")
| |