Re: [PATCH v4 1/2] sched/rt: fix bad task migration for rt tasks

Schspa Shi
2022-07-12T01:02:08Z

Steven Rostedt <rostedt@goodmis.org> writes:

> On Sat, 09 Jul 2022 05:32:25 +0800
> Schspa Shi <schspa@gmail.com> wrote:
>
>> >> +++ b/kernel/sched/rt.c
>> >> @@ -1998,11 +1998,14 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, struct rq *rq)
>> >> * the mean time, task could have
>> >> * migrated already or had its affinity changed.
>> >> * Also make sure that it wasn't scheduled on its rq.
>> >> + * It is possible the task has running for a while,
>> >
>> > I don't understand the "running for a while" part. That doesn't make sense.
>> >
>>
>> When I say "run for a while" I mean as long as the task has
>> run capability, we should check the migrate disabled flag again.
>>
>> > The only way this can happen is that it was scheduled, set
>> > "migrate_disabled" and then got preempted where it's no longer on the run
>> > queue.
>>
>> Yes, it is the only case.
>
> Can we then change the comment, as the "running for a while" is not clear
> to what the issue is, and honestly, sounds misleading.
>
> -- Steve

How about to change this to

/*
* We had to unlock the run queue. In
* the mean time, task could have
* migrated already or had its affinity changed.
* Also make sure that it wasn't scheduled on its rq.
* It is possible the task was scheduled, set
* "migrate_disabled" and then got preempted, And we
* check task migration disable flag here too.
*/

--
BRs
Schspa Shi