On Fri, Jun 16, 2023 at 10:14:52PM +0200, Robin Jarry wrote:
Waiman Long, Jun 16, 2023 at 21:59:I can't see the patches -- they didn't arrive in my mailbox nor can I
For Intel processors that need to turn on IBRS to protect againstHi Longman,
Spectre v2 and Retbleed, the IBRS bit in the SPEC_CTRL MSR affects
the performance of the whole core even if only one thread is turning
it on when running in the kernel. For user space heavy applications,
the performance impact of occasionally turning IBRS on during syscalls
shouldn't be significant. Unfortunately, that is not the case when the
sibling thread is idling in the kernel. In that case, the performance
impact can be significant.
When DPDK is running on an isolated CPU thread processing network packets
in user space while its sibling thread is idle. The performance of the
busy DPDK thread with IBRS on and off in the sibling idle thread are:
IBRS on IBRS off
------- --------
packets/second: 7.8M 10.4M
avg tsc cycles/packet: 282.26 209.86
This is a 25% performance degradation. The test system is a Intel Xeon
4114 CPU @ 2.20GHz.
This patch series turns off IBRS when in various idle mode to eliminate
the performance impact of the idling thread on its busy sibling thread.
thanks a lot for the quick turnaround on this issue.
Tested-by: Robin Jarry <rjarry@xxxxxxxxxx>
find them in the archive, in fact this here mail is the only evidence
they exist at all.
However, did you all see intel_idle_ibrs() and how that is selected for
C6 and up?
What exactly isn't working there?
Also, instead of investing more in this IBRS trainwreck, did you all try
call-depth-stuffing ?