MEDIUM: mux-h1: use task_kill() during h1_takeover() instead of task_wakeup()
authorWilly Tarreau <w@1wt.eu>
Wed, 1 Jul 2020 14:39:33 +0000 (16:39 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 1 Jul 2020 14:42:05 +0000 (16:42 +0200)
commit09e0d9ecbc49d33635f2b035864b086b317fa2dd
tree493543a46cc70108744216bb6979d470b826026f
parenteb8c2c69fa0e75569df80e040da6424dbc181682
MEDIUM: mux-h1: use task_kill() during h1_takeover() instead of task_wakeup()

task_wakeup() passes the task through the global run queue under the
global RQ lock, which is expensive when dealing with large amounts of
h1_takeover() calls. Let's use the new task_kill() instead to kill the
task.

By doing so, a scenario involving approximately 130k takeover/s running on
16 threads gained almost 3% performance from 319k req/s to 328k.
src/mux_h1.c