Messages in this thread | | | Subject | Re: [RFC PATCH v3 00/16] Core scheduling v3 | From | Aaron Lu <> | Date | Tue, 13 Aug 2019 10:24:37 +0800 |
| |
On 2019/8/12 23:38, Vineeth Remanan Pillai wrote: >> I have two other small changes that I think are worth sending out. >> >> The first simplify logic in pick_task() and the 2nd avoid task pick all >> over again when max is preempted. I also refined the previous hack patch to >> make schedule always happen only for root cfs rq. Please see below for >> details, thanks. >> > I see a potential issue here. With the simplification in pick_task, > you might introduce a livelock where the match logic spins for ever. > But you avoid that with the patch 2, by removing the loop if a pick > preempts max. The potential problem is that, you miss a case where > the newly picked task might have a match in the sibling on which max > was selected before. By selecting idle, you ignore the potential match.
Oh that's right, I missed this.
> As of now, the potential match check does not really work because, > sched_core_find will always return the same task and we do not check > the whole core_tree for a next match. This is in my TODO list to have > sched_core_find to return the best next match, if match was preempted. > But its a bit complex and needs more thought.
Sounds worth to do :-)
| |