On 14/10/2020 2:30 PM, Anatoly Burakov wrote:
From: Liang Ma <liang.j...@intel.com>

Add a simple on/off switch that will enable saving power when no
packets are arriving. It is based on counting the number of empty
polls and, when the number reaches a certain threshold, entering an
architecture-defined optimized power state that will either wait
until a TSC timestamp expires, or when packets arrive.

This API mandates a core-to-single-queue mapping (that is, multiple
queued per device are supported, but they have to be polled on different
cores).

This design is using PMD RX callbacks.

1. UMWAIT/UMONITOR:

    When a certain threshold of empty polls is reached, the core will go
    into a power optimized sleep while waiting on an address of next RX
    descriptor to be written to.

2. Pause instruction

    Instead of move the core into deeper C state, this method uses the
    pause instruction to avoid busy polling.

3. Frequency scaling
    Reuse existing DPDK power library to scale up/down core frequency
    depending on traffic volume.

Signed-off-by: Liang Ma <liang.j...@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---


Hi Liang, Anatoly, great work on the patch set.


Acked-by: David Hunt <david.h...@intel.com>




Reply via email to