[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9b6bff28-b5b3-435d-899b-5da8acaa9882@igalia.com>
Date: Fri, 6 Dec 2024 10:50:35 +0900
From: Changwoo Min <changwoo@...lia.com>
To: Tejun Heo <tj@...nel.org>
Cc: Changwoo Min <multics69@...il.com>, void@...ifault.com, mingo@...hat.com,
peterz@...radead.org, kernel-dev@...lia.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/5] sched_ext: Manage the validity of scx_rq_clock
Hello,
On 24. 12. 5. 03:46, Tejun Heo wrote:
> Hello,
>
> On Wed, Dec 04, 2024 at 10:42:13AM +0900, Changwoo Min wrote:
>> I investigated all sched_ext_ops. Besides these two ops, all the
>> rest are control operations, of which BPF operation should be
>> relatively simple. On the other hand, ops.running() and
>> ops.update_idle() are different from the others since a CPU
>> executes a task or becomes idle, which could be arbitrarily long.
>> So I think refreshing the clock in those cases would be nice.
>> Does it make sense to you?
>
> Hmm... I'm not really following. Both ops.running() and ops.update_idle()
> are called during task switches with rq lock held. I don't see why they'd be
> any different in terms of expected runtime, which should be pretty short,
> compared to any other rq-locked operations.
Originally, what I wanted to say is the rq clock *after*
ops.running() and ops.update_idle() should be invalidated since
task running and idling could be arbitrarily long.
However, after double-checking the scheduler core again, I found
that such invalidations are redundant because anyway rq lock will
be released right after ops.running() and ops.update_idle().
I will remove two redundant invalidation in the next version.
Regards,
Changwoo Min
Powered by blists - more mailing lists