mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
sched_ext: Documentation: add note about multiple ops.enqueue() calls in a row
Commit 84b1a0ea0b
("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().
Document this behavior as it may be surprising to some.
Acked-by: Andrea Righi <arighi@nvidia.com>
Acked-by: Cheng-Yang Chou <yphbchou0911@gmail.com>
Signed-off-by: Kuba Piecuch <jpiecuch@google.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
41e3312861
commit
d722d70a8b
|
|
@ -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.
|
||||
|
||||
When a task leaves BPF scheduler custody, ``ops.dequeue()`` is invoked.
|
||||
The dequeue can happen for different reasons, distinguished by flags:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user