Currently, the uncore power library requires user to manually set
environment variables and call rte_power_uncore_init() one by one
in their applications, which is not good to use. Since these steps
are essentially part of the driver initialization, they can be
encapsulated to one interface in uncore core. The uncore core should
be responsiable for detecting and initializing the uncore driver on
the platform.

In order to reach above goal, this series has made the following
changes:
1. Some cleancode and rewrok uncore in l3fwd-power.
2. Add automatic detection of uncore driver to support more uncore
   drivers when application use RTE_UNCORE_PM_ENV_AUTO_DETECT.
3. Introduce new uncore init and deinit API in uncore core.

Note:
1. The patch 5/7 use package-0 and die-0 to probe uncore driver is
   just avoided to break ABI. The good way is to add new probe
   callback in each uncore driver to tell uncore core.
2. We plan that the new uncore init and deinit API will replace the
   rte_power_set/get_uncore_env() and remove them in 26.11 version.

Huisong Li (7):
  examples/l3fwd-power: fix uncore deinit for non-legacy
  examples/l3fwd-power: support to set power QoS on any  mode
  examples/l3fwd-power: fix uncore help and log info
  examples/l3fwd-power: relocate uncore initialization
  power: support automatic detection of uncore driver
  power: add global uncore init and deinit interface
  examples/l3fwd-power: switch to new init/deinit uncore API

 .../sample_app_ug/l3_forward_power_man.rst    |   2 +-
 examples/l3fwd-power/main.c                   | 272 +++++++++---------
 lib/power/rte_power_uncore.c                  | 132 ++++++++-
 lib/power/rte_power_uncore.h                  |  20 ++
 4 files changed, 275 insertions(+), 151 deletions(-)

-- 
2.33.0

Reply via email to