[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a3aae63d-b4bb-ace2-ff35-51961364cd1c@bytedance.com>
Date: Thu, 12 Oct 2023 17:04:51 +0800
From: Hao Jia <jiahao.os@...edance.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: mingo@...hat.com, mingo@...nel.org, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
bristot@...hat.com, vschneid@...hat.com,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Igor Raits <igor.raits@...il.com>,
Bagas Sanjaya <bagasdotme@...il.com>
Subject: Re: [External] Re: [PATCH] sched/core: Fix wrong warning check in
rq_clock_start_loop_update()
On 2023/10/10 Peter Zijlstra wrote:
> On Sat, Oct 07, 2023 at 04:44:46PM +0800, Hao Jia wrote:
>
>>> That is, would not something like the below make more sense?
>>
>> If we understand correctly, this may not work.
>>
>> After applying this patch, the following situation will trigger the
>> rq->clock_update_flags < RQCF_ACT_SKIP warning.
>>
>> If rq_clock_skip_update() is called before __schedule(), so RQCF_REQ_SKIP of
>> rq->clock_update_flags is set.
>>
>>
>>
>>
>> __schedule() {
>> rq_lock(rq, &rf); [rq->clock_update_flags is RQCF_REQ_SKIP]
>> rq->clock_update_flags <<= 1;
>> update_rq_clock(rq); [rq->clock_update_flags is RQCF_ACT_SKIP]
>> + rq->clock_update_flags &= ~(RQCF_ACT_SKIP|RQCF_REQ_SKIP);
>> * At this time, rq->clock_update_flags = 0; *
>
> Fixed easily enough, just change to:
>
> rq->clock_updated_flags = RQCF_UPDATED;
>
Thanks for your suggestions and help, I revised the commit message and
sent patch v2.
https://lore.kernel.org/all/20231012090003.11450-1-jiahao.os@bytedance.com/
Please review again.
Thanks,
Hao
>>
>> pick_next_task_fair
>> set_next_entity
>> update_load_avg
>> assert_clock_updated() <---
>> }
>
Powered by blists - more mailing lists