Re: [PATCH sched_ext/for-6.11] sched, sched_ext: Replace scx_next_task_picked() with sched_class->switch_class()

Tejun Heo
2024-06-26T17:56:02Z

Hello,

On Wed, Jun 26, 2024 at 10:28:48AM +0200, Peter Zijlstra wrote:
> I suppose I need to read more, because I'm not knowing what cpu_acquire
> is :/ I do know I don't much like the asymmetry here, but maybe it makes
> sense, dunno.

The sched_ext ops are symmetric - ops.cpu_release() is called when SCX loses
CPU to a higher priority sched class and ops.cpu_acquire() when the CPU
returns to SCX afterwards. Where they hook into is not symmetric. The class
which picks the next task already knows the previous task, so there's no
need to add anything. However, without the new sched_class->switch_class(),
the previous class has no way of knowing, so they're a bit different.

Thanks.

--
tejun