<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is way too deep in the weeds of developing with the DPDK<br>libraries for your audience here to have much in the way of useful<br>comment.  This is an operators group.<br></blockquote><div><br></div><div>Fair enough, and thank you for stepping on the brakes :)</div><div><br></div><div>Honestly, I didn't intend to get embroiled in this. The questions were bare-bones and relate to common use of DPDK. </div><div><br></div><div>Over and out. I'll post the results on Friday evening CET.</div><div><br></div><div>Cheers,</div><div><br></div><div>Etienne</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 23, 2021 at 11:38 PM William Herrin <<a href="mailto:bill@herrin.us" target="_blank">bill@herrin.us</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Feb 23, 2021 at 2:22 PM Etienne-Victor Depasquale<br>
<<a href="mailto:edepa@ieee.org" target="_blank">edepa@ieee.org</a>> wrote:<br>
>> DPDK doesn't inherently do much in the way of power management.<br>
><br>
> I agree - it doesn't. That's not what it was made for.<br>
><br>
>>  Note that DPDK applications are usually intended to run in very-high<br>
><br>
> data rate environments where no gains are likely to be realized by<br>
> avoiding a busy-wait loop.<br>
><br>
> That's not what research shows.<br>
><br>
> Use of LPI states is proposed for power management under high data rate conditions in [5] and<br>
> in [6], use of the low-power instruction halt  is investigated and found to save power under such conditions.<br>
<br>
Howdy,<br>
<br>
This is way too deep in the weeds of developing with the DPDK<br>
libraries for your audience here to have much in the way of useful<br>
comment.  This is an operators group.<br>
<br>
If anyone is interested, the techniques DPDK offers application<br>
authors to manage power on the dataplane cores are described here:<br>
<br>
<a href="https://doc.dpdk.org/guides/prog_guide/power_man.html" rel="noreferrer" target="_blank">https://doc.dpdk.org/guides/prog_guide/power_man.html</a><br>
<br>
The main thing devs do, since it's easy, is add a call to rte_pause()<br>
in any empty polling loop. IIRC, that just calls the CPU PAUSE<br>
instruction which doesn't actually pause anything but saves a little<br>
power by de-pipelining and, if hyperthreading is enabled, releasing<br>
the core to run the alternate thread.<br>
<br>
Regards,<br>
Bill Herrin<br>
<br>
<br>
<br>
-- <br>
William Herrin<br>
<a href="mailto:bill@herrin.us" target="_blank">bill@herrin.us</a><br>
<a href="https://bill.herrin.us/" rel="noreferrer" target="_blank">https://bill.herrin.us/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><span style="color:rgb(136,136,136);font-family:tahoma,sans-serif">Ing. Etienne-Victor Depasquale</span><br style="color:rgb(136,136,136);font-family:tahoma,sans-serif"><span style="color:rgb(136,136,136);font-family:tahoma,sans-serif">Assistant Lecturer</span><br style="color:rgb(136,136,136);font-family:tahoma,sans-serif"><span style="color:rgb(136,136,136);font-family:tahoma,sans-serif">Department of Communications & Computer Engineering</span><br style="color:rgb(136,136,136);font-family:tahoma,sans-serif"><span style="color:rgb(136,136,136);font-family:tahoma,sans-serif">Faculty of Information & Communication Technology</span><br style="color:rgb(136,136,136);font-family:tahoma,sans-serif"><span style="color:rgb(136,136,136);font-family:tahoma,sans-serif">University of Malta</span><div>Web. <a href="https://www.um.edu.mt/profile/etiennedepasquale" target="_blank">https://www.um.edu.mt/profile/etiennedepasquale</a><br></div></div></div>