From: Vinicius Costa Gomes <vinicius.gomes@intel.com>
To: Hillf Danton <hdanton@sina.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
K Prateek Nayak <kprateek.nayak@amd.com>,
Christoph Lameter <cl@gentwo.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC] sched/fair: decline WF_SYNC stacking when waker LLC is the busier share
Date: Thu, 06 Aug 2026 10:44:18 -0700 [thread overview]
Message-ID: <87mruz2lfx.fsf@intel.com> (raw)
In-Reply-To: <20260805021430.957-1-hdanton@sina.com>
Hillf Danton <hdanton@sina.com> writes:
> On Tue, 04 Aug 2026 16:14:05 -0700 Vinicius Costa Gomes wrote:
>> Since commit 900bbaae67e9 ("epoll: Add synchronous wakeup support for
>> ep_poll_callback"), epoll driven WF_SYNC wakeups have been "too
>> strong" and could cause tasks to stack on a busy NUMA node while other
>> nodes are relatively idle.
>>
>> As commit 900bbaae67e9 ("epoll: Add synchronous wakeup support for
>> ep_poll_callback") improves real workloads a revert is not the answer.
>> The fix is to make the WF_SYNC "stack on waker" shortcut take into
>> account the load on this and prev's LLC, rejecting the shortcut only
>> when the waker (this) LLC is fully loaded and prev's LLC is less
>> loaded than the waker's.
>>
>> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
>> ---
>> We received a report of a regression on a openresty based
>> workload (the main metric being tail latencies) on a CWF SNC3 single
>> socket system, the main symptom that we could measure was one node
>> being overloaded while the other nodes were relatively idle.
>>
>> Further investigation showed that spreading the NIC RX interrupts over
>> all NUMA nodes helped. Reverting commit 900bbaae67e9 ("epoll: Add
>> synchronous wakeup support for ep_poll_callback") also helped.
>>
> The irq approach is prefered because anything that gets the eevdf offloaded
> is good, you see it is near to the knowall point, needless to say that they
> lie in different layers and from the scheduling-cpu pov irq is a gray rhino
> in the room while WF_SYNC is a tiger mosquito in the corner at best in your
> case where the mosquito failed to understand your workload.
I don't think irq spreading across NUMA nodes is that good of an idea on
low loads/by default, as it loses the locality that the kernel (even
with irqbalance) try to maintain. I used that as a hackish way of
testing "if I spread tasks, does it improve the tail latencies?".
Note that the "local-only reproducer" workload (memcached +
memtier_benchmark) runs over loopback (no NIC irqs here), I pin memtier
(the client) to one NUMA node, leave the server unpinned and I am able
to reproduce the issue: with the RFC patch the tail latencies reduce by
2-3x. (on the customer workload the impact is even higher)
My expectation was that the scheduler would be able to say: "ugh, even
though respecting WF_SYNC is good most of the cases, this isn't one of
them". And this is the spirit of the RFC, showing that those cases
exist and their impact.
Cheers,
--
Vinicius
next prev parent reply other threads:[~2026-08-06 17:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-04 23:14 [PATCH RFC] sched/fair: decline WF_SYNC stacking when waker LLC is the busier share Vinicius Costa Gomes
2026-08-05 2:14 ` Hillf Danton
2026-08-06 17:44 ` Vinicius Costa Gomes [this message]
2026-08-06 22:53 ` Hillf Danton
2026-08-06 23:22 ` Vinicius Costa Gomes
2026-08-07 5:17 ` Hillf Danton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mruz2lfx.fsf@intel.com \
--to=vinicius.gomes@intel.com \
--cc=cl@gentwo.org \
--cc=hdanton@sina.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.