Re: [PATCH v3 2/5] sched_ext: Manage the validity of scx_rq_clock

From: Changwoo Min
Date: Thu Dec 05 2024 - 20:51:17 EST


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