Re: [PATCH] sched_ext: Documentation: add note about multiple ops.enqueue() calls in a row

From: Kuba Piecuch

Date: Mon Apr 20 2026 - 12:57:30 EST


Hi Cheng-Yang,

On Mon Apr 20, 2026 at 3:12 PM UTC, Cheng-Yang Chou wrote:
> Hi Kuba,
>
> On Mon, Apr 20, 2026 at 02:39:39PM +0000, Kuba Piecuch wrote:
>> Commit 84b1a0ea0b7c
>> ("sched_ext: Implement scx_bpf_dsq_reenq() for user DSQs")
>> introduced the possibility of ops.enqueue() being called multiple times
>> in a row for the same task without intervening calls to ops.dequeue().
>> AFAIK this was not possible before that commit.
> ^^^^^
> Nit: Do we really need this line in the commit message?
> Perhaps we can just drop this?

I put it there just in case someone was actually aware of a scenario before
that commit where we can have multiple ops.enqueue() calls in a row.

Regarding removing the line: yeah, I guess it's a bit redundant.
I'll send a v2.

>
>> Document this behavior as it may be surprising to some.
>>
>> Signed-off-by: Kuba Piecuch <jpiecuch@xxxxxxxxxx>
>> ---
>> Documentation/scheduler/sched-ext.rst | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/scheduler/sched-ext.rst b/Documentation/scheduler/sched-ext.rst
>> index 03d595d178ea..fba09aa1cd4e 100644
>> --- a/Documentation/scheduler/sched-ext.rst
>> +++ b/Documentation/scheduler/sched-ext.rst
>> @@ -339,6 +339,11 @@ The following briefly shows how a waking task is scheduled and executed.
>> leaves (e.g., when ``ops.dispatch()`` moves it to a terminal DSQ, or
>> on property change / sleep).
>>
>> + Note that ``ops.enqueue()`` can be called multiple times in a row without
>> + an intervening call to ``ops.dequeue()``. This can happen, for example,
>> + when a task on a user-created DSQ is re-enqueued using
>> + ``scx_bpf_dsq_reenq()``. The task stays in BPF custody the entire time.
>> +
>
> Thanks for adding and clarifying this. ^v^
>
> Acked-by: Cheng-Yang Chou <yphbchou0911@xxxxxxxxx>
>

Thanks,
Kuba