<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div class="moz-cite-prefix">On 16/09/2022 13:35, Kevin Laatz wrote:<br>
</div>
<blockquote type="cite" cite="mid:8646ba9f-a6bc-1bd0-0cf5-349268f4032c@intel.com">On
14/09/2022 15:33, Stephen Hemminger wrote:
<br>
<blockquote type="cite">On Wed, 14 Sep 2022 10:29:25 +0100
<br>
Kevin Laatz <a class="moz-txt-link-rfc2396E" href="mailto:kevin.laatz@intel.com"><kevin.laatz@intel.com></a> wrote:
<br>
<br>
<blockquote type="cite">Currently, there is no way to measure
lcore polling busyness in a passive
<br>
way, without any modifications to the application. This
patchset adds a new
<br>
EAL API that will be able to passively track core polling
busyness. As part
<br>
of the set, new telemetry endpoints are added to read the
generate metrics.
<br>
</blockquote>
How much does measuring busyness impact performance??
<br>
<br>
In the past, calling rte_rdsc() would slow down packet rate
<br>
because it is stops CPU pipeline. Maybe better on more modern
<br>
processors, haven't measured it lately.
<br>
</blockquote>
<br>
Hi Stephen,
<br>
<br>
I've run some 0.001% loss tests using 2x 100G ports, with 64B
packets using testpmd for forwarding. Those tests show a ~2.7%
performance impact when the lcore poll busyness feature is enabled
vs compile-time disabled.
<br>
Applications with more compute intensive workloads should see less
performance impact since the proportion of time spent
time-stamping will be smaller.
<br>
<br>
In addition, a performance autotest has been added in this
patchset which measures the cycles cost of calling the timestamp
macro. Please feel free to test it on your system
(lcore_poll_busyness_perf_autotest).
<br>
<br>
</blockquote>
Worth mentioning as well, is that when lcore poll busyness is
enabled at compile-time and disabled at run-time, we see <b>zero </b>performance
impact.<br>
</body>
</html>