Re: [PATCH v5 08/14] sched/ext: Add a DL server for sched_ext tasks

From: Joel Fernandes
Date: Tue Jul 01 2025 - 09:26:39 EST


Hi Tejun,

On 6/30/2025 11:38 AM, Tejun Heo wrote:
>> This changes the signature of the pick_task_dl function, which in turn
>> changes the signature of class->pick_task.
>>
>> How about I pass NULL to pick_task_scx() from ext_server_pick_task(), and
>> also annotate all functions where rf is unused, by naming the argument as
>> rf_unused (except for DL), would that make it more clear that the rq lock
>> should not be arbitrarily dropped just because rf was passed? And perhaps
>> sprinkling some more code comments.
>
> I think what bothers me is that this erases the distinction between
> ->balance() and ->pick_task(). However, I'm not sure the distinction means
> anything anymore especially given the removal of !CONFIG_SMP paths. Looking
> at the balance callsites, I think we can just fold each ->balance() into the
> head of the corresponding ->pick_task(). Peter, what do you think?

I think one added complexity with that would be, the ->balance() would be have
to be embedded into the other sister ->pick_next_task() as well?

And core scheduling paths add complexity there, I'd vouch for keeping it
separate but curious what Peter has to say as well.

thanks,

- Joel