18/01/2021 16:45, Burakov, Anatoly: > On 18-Jan-21 3:24 PM, David Marchand wrote: > > On Thu, Jan 14, 2021 at 3:46 PM Anatoly Burakov > > <anatoly.bura...@intel.com> wrote: > >> > >> This patchset proposes a simple API for Ethernet drivers to cause the > >> CPU to enter a power-optimized state while waiting for packets to > >> arrive. There are multiple proposed mechanisms to achieve said power > >> savings: simple frequency scaling, idle loop, and monitoring the Rx > >> queue for incoming packages. The latter is achieved through cooperation > >> with the NIC driver that will allow us to know address of wake up event, > >> and wait for writes on that address. [...] > >> Why are we putting it into ethdev as opposed to leaving this up to the > >> application? Our customers specifically requested a way to do it with > >> minimal changes to the application code. The current approach allows to > >> just flip a switch and automatically have power savings.
The customer laziness is usually a bad justification :) I think we could achieve the same with not too much code on application side. And I'm not sure hiding queue management is sane. Remember this rule: application must remain in control. [...] > > SPDK build is still broken. > > http://mails.dpdk.org/archives/test-report/2021-January/174840.html [...] > > I guess this is because of the added dependency of rte_ethdev to rte_power. > > Afaics, SPDK does not use pkg-config: > > https://github.com/spdk/spdk/blob/master/lib/env_dpdk/env.mk#L53 > > Sooo... this is an SPDK issue then? Because i can't see any way of > fixing the issue on DPDK side. Yes SPDK should not skip pkg-config. But it raises 2 question: - are we breaking ABI compatibility? - is ethdev management expected for librte_power? It makes me wonder whether we should host the few functions mixing librte_ethdev and librte_power somewhere else. The question is where?