24/10/2020 01:06, Liang Ma: > Update programmer's guide to document PMD power management usage. > > Signed-off-by: Liang Ma <liang.j...@intel.com> > Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> > Acked-by: David Hunt <david.h...@intel.com> > --- > doc/guides/prog_guide/power_man.rst | 42 +++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+)
Why don't you update this doc in the patch 5 adding the code in the power library? > --- a/doc/guides/prog_guide/power_man.rst > +++ b/doc/guides/prog_guide/power_man.rst > @@ -192,6 +192,45 @@ User Cases > ---------- > The mechanism can applied to any device which is based on polling. e.g. NIC, > FPGA. > > +PMD Power Management API > +------------------------ > + Blank line missing below: > +Abstract > +~~~~~~~~ > +Existing power management mechanisms require developers to change application > +design or change code to make use of it. The PMD power management API > provides a > +convenient alternative by utilizing Ethernet PMD RX callbacks, and triggering > +power saving whenever empty poll count reaches a certain number. > + Here you start a list of schemes, without introducing it. > + * UMWAIT/UMONITOR > + > + This power saving scheme will put the CPU into optimized power state and > use > + the UMWAIT/UMONITOR instructions to monitor the Ethernet PMD RX descriptor > + address, and wake the CPU up whenever there's new traffic. > + > + * Pause > + > + This power saving scheme will use the `rte_pause` function to avoid busy > + polling. > + > + * Frequency scaling > + > + This power saving scheme will use existing power library functionality to > + scale the core frequency up/down depending on traffic volume. > + > + > +.. note:: > + > + Currently, this power management API is limited to mandatory mapping of 1 > + queue to 1 core (multiple queues are supported, but they must be polled > from > + different cores). > + > +API Overview for PMD Power Management > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Underlining is long enough... ... but a blank line is missing after the title. > +* **Queue Enable**: Enable specific power scheme for certain queue/port/core > + > +* **Queue Disable**: Disable power scheme for certain queue/port/core