答复: [PATCH] sched: don't check rq after newidle_balance return positive(Internet mail)

From: xiaoggchen(陈小光)
Date: Wed Dec 16 2020 - 04:55:55 EST




-----邮件原件-----
发件人: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
发送时间: 2020年12月15日 16:33
收件人: chenxg1x@xxxxxxxxx
抄送: linux-kernel@xxxxxxxxxxxxxxx; mingo@xxxxxxxxxx; juri.lelli@xxxxxxxxxx; vincent.guittot@xxxxxxxxxx; dietmar.eggemann@xxxxxxx; rostedt@xxxxxxxxxxx; bsegall@xxxxxxxxxx; mgorman@xxxxxxx; bristot@xxxxxxxxxx; heddchen(陈贺) <heddchen@xxxxxxxxxxx>; xiaoggchen(陈小光) <xiaoggchen@xxxxxxxxxxx>
主题: Re: [PATCH] sched: don't check rq after newidle_balance return positive(Internet mail)

On Tue, Dec 15, 2020 at 02:48:50PM +0800, chenxg1x@xxxxxxxxx wrote:
>> From: Chen Xiaoguang <xiaoggchen@xxxxxxxxxxx>
>>
>> In pick_next_task_fair, if CPU is going to idle newidle_balance is
>> called first trying to pull some tasks.
>> When newidle_balance returns positive which means it does pulls tasks
>> or some tasks enqueued then there is no need to check
>> sched_fair_runnable again.

> No, I think it actually does need to, because while it counts the number of tasks it pulled, it doesn't verify it still has them after it re-acquires rq->lock. That is, someone could've come along and stolen them
> right from under our noses.
Ah, yes, our change only make sense when pulling nothing in load_balance but some tasks enqueued this rq during the lock of this rq is released.

Thanks.

>>
>> Signed-off-by: He Chen <heddchen@xxxxxxxxxxx>
>> Signed-off-by: Xiaoguang Chen <xiaoggchen@xxxxxxxxxxx>

> This SoB chain is broken. The first SoB should be the author, but From does not match.
We will fix this next time.