mirror of
https://github.com/haproxy/haproxy.git
synced 2026-07-04 23:06:17 -04:00
|
Some checks are pending
Contrib / admin/halog/ (push) Waiting to run
Contrib / dev/flags/ (push) Waiting to run
Contrib / dev/haring/ (push) Waiting to run
Contrib / dev/hpack/ (push) Waiting to run
Contrib / dev/poll/ (push) Waiting to run
FreeBSD / clang (push) Waiting to run
VTest / Generate Build Matrix (push) Waiting to run
VTest / (push) Blocked by required conditions
Windows / Windows, gcc, all features (push) Waiting to run
This adds new class TL_RT, which is processed before other queues for one (and only one) tasklet featuring the TASK_RT flag. This is meant to process real time wakeups under load with even less latency. We only process one entry to make sure it will not be abused for unimportant stuff, and if tune.sched.low-latency is set, we also avoid picking more tasks from the current run queues and looping after the first call to run_tasks_from_list(). Measurements under a load of 10k concurrent conns injection at 10 Gbps (~58k 20kB objects/s) on 4 threads and with task profiling enabled shows that the average wakeup latency for wakeups every 10ms dropped from 220 microseconds to 1.8 microsecond, and even ~550 nanoseconds when tune.sched.low-latency is set, or 400 times less. The doc was updated, including the schematics. |
||
|---|---|---|
| .. | ||
| appctx.txt | ||
| buffer-api.txt | ||
| buffer-list-api.txt | ||
| event_hdl.txt | ||
| filters.txt | ||
| htx-api.txt | ||
| initcalls.txt | ||
| ist.txt | ||
| layers.txt | ||
| list.txt | ||
| memory.txt | ||
| mt_list.txt | ||
| pools.txt | ||
| scheduler.txt | ||