[PATCH 0/2] net: Use synchronous wakeups selectively
From: Srikar Dronamraju <hidden>
Date: 2026-07-14 01:40:55
Also in:
linux-sctp, lkml
The scheduler assumes in several wakeup paths that a task using WF_SYNC
is likely to yield the CPU shortly. However several networking wakeup
paths unconditionally use synchronous wakeups even when the waking task
continues execution.
During wakeup, with WF_SYNC flag set, because of the assumption that
current thread is ready to give up, the wakee thread will be migrated
from any core within the chip to the current LLC. If these operations
are frequent, and wakers are actually not going away, then it will lead
to load imbalance and hurt performance. This is especially true in
architectures where LLCs are small and number of LLCs per chip are more.
Running vllm workload was run on Power10 system
No patch with patch %diff
Inference Time (sec) 17.84 16.35 -8.35%
llm query bandwidth (tokens/sec) 14.78 16.21 +9.68%
Lower inference time and higher tokens/sec is better.
Srikar Dronamraju (2):
net/socket: Record preference for synchronous wakeups
net/sock: Propagate WF_SYNC only when requested
include/net/sock.h | 1 +
net/core/sock.c | 31 +++++++++++++++++++------
net/sctp/socket.c | 10 +++++++--
net/smc/af_smc.c | 4 ++--
net/smc/smc_rx.c | 10 +++++++--
net/socket.c | 56 +++++++++++++++++++++++++++++++++++++++-------
net/tipc/socket.c | 22 +++++++++++++-----
net/unix/af_unix.c | 26 ++++++++++++++-------
8 files changed, 126 insertions(+), 34 deletions(-)
--
2.51.0