From e5ca72cb6f88075cebd351dd9aff99254c443c31 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 19 Nov 2024 16:04:09 +0100 Subject: [PATCH] DOC: sched: add missing scheduler API documentation for tasklet_wakeup_after() This was added to 2.6 but the doc was forgotten. Let's add it. It's not needed to backport this since it's only used for new developments. --- doc/internals/api/scheduler.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/internals/api/scheduler.txt b/doc/internals/api/scheduler.txt index dd1ad5f07c..70230d1630 100644 --- a/doc/internals/api/scheduler.txt +++ b/doc/internals/api/scheduler.txt @@ -103,6 +103,17 @@ void tasklet_wakeup(tl) least once. The tasklet will run on its assigned thread, or on any thread if its TID is negative. +struct list *tasklet_wakeup_after(head, tl) + Schedule tasklet to run immediately the current one if is + NULL, or after the last queued one if is non-null. The new head + is returned, to be passed to the next call. The purpose here is to + permit instant wakeups of resumed tasklets that still preserve + ordering between them. A typical use case is for a mux' I/O handler to + instantly wake up a series of urgent streams before continuing with + already queued tasklets. This may induce extra latencies for pending + jobs and must only be used extremely carefully when it's certain that + the processing will benefit from using fresh data from the L1 cache. + void tasklet_wakeup_on(tl, thr) Make sure that tasklet will wake up on thread , that is, will execute at least once. The designated thread may only differ from the