mbox series

[v4,0/4] Add APIs for configurable power options

Message ID 20220524131407.423609-1-kevin.laatz@intel.com (mailing list archive)
Headers
Series Add APIs for configurable power options |

Message

Kevin Laatz May 24, 2022, 1:14 p.m. UTC
  The power library contains some variables which are currently set by
defines, hard-coded values or set using sysfs values. In order to
configure these, code changes and recompiles are required, making
configuring these variables tedious.

This patchset introduces some new get/set APIs which allow users and
applications to configure there settings to suit their use-cases.
In addition, CLI options have been added to l3fwd_power to demonstrate
how an application could use these APIs to expose the options to users
without needing code changes to configure them.

---
v4:
* fix return value when scaling_freq_max is not set
* fix mismatching comments

v3:
* move setters from arg parse function to init
* consider 0 as 'not set' for scaling_freq_max
* other minor fixes

v2:
* add doc update for l3fwd-power
* order version.map additions alphabetically

Kevin Laatz (4):
  lib/power: add get and set API for emptypoll max
  lib/power: add get and set API for pause duration
  lib/power: add get and set API for scaling freq min and max with
    pstate mode
  examples/l3fwd_power: add cli for configurable options

 .../sample_app_ug/l3_forward_power_man.rst    |   8 +
 examples/l3fwd-power/main.c                   |  86 ++++++++++-
 lib/power/power_pstate_cpufreq.c              |  24 ++-
 lib/power/rte_power_pmd_mgmt.c                | 123 +++++++++++++++-
 lib/power/rte_power_pmd_mgmt.h                | 139 ++++++++++++++++++
 lib/power/version.map                         |  10 ++
 6 files changed, 379 insertions(+), 11 deletions(-)
  

Comments

Anatoly Burakov May 27, 2022, 4:04 p.m. UTC | #1
On 24-May-22 2:14 PM, Kevin Laatz wrote:
> The power library contains some variables which are currently set by
> defines, hard-coded values or set using sysfs values. In order to
> configure these, code changes and recompiles are required, making
> configuring these variables tedious.
> 
> This patchset introduces some new get/set APIs which allow users and
> applications to configure there settings to suit their use-cases.
> In addition, CLI options have been added to l3fwd_power to demonstrate
> how an application could use these APIs to expose the options to users
> without needing code changes to configure them.
> 
> ---
> v4:
> * fix return value when scaling_freq_max is not set
> * fix mismatching comments
> 
> v3:
> * move setters from arg parse function to init
> * consider 0 as 'not set' for scaling_freq_max
> * other minor fixes
> 
> v2:
> * add doc update for l3fwd-power
> * order version.map additions alphabetically
> 
> Kevin Laatz (4):
>    lib/power: add get and set API for emptypoll max
>    lib/power: add get and set API for pause duration
>    lib/power: add get and set API for scaling freq min and max with
>      pstate mode
>    examples/l3fwd_power: add cli for configurable options
> 
>   .../sample_app_ug/l3_forward_power_man.rst    |   8 +
>   examples/l3fwd-power/main.c                   |  86 ++++++++++-
>   lib/power/power_pstate_cpufreq.c              |  24 ++-
>   lib/power/rte_power_pmd_mgmt.c                | 123 +++++++++++++++-
>   lib/power/rte_power_pmd_mgmt.h                | 139 ++++++++++++++++++
>   lib/power/version.map                         |  10 ++
>   6 files changed, 379 insertions(+), 11 deletions(-)
> 

Hi Kevin,

We also have documentation for this library under 
`doc/guides/prog_guide/power_man.rst`, which documents methods exposed 
by the PMD power management. That document needs to be updated with the 
new additions :)