dev.dpdk.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Cc: <david.hunt@intel.com>, <anatoly.burakov@intel.com>,
	<jerinj@marvell.com>, <radu.nicolau@intel.com>,
	<gakhil@marvell.com>, <cristian.dumitrescu@intel.com>,
	<ferruh.yigit@amd.com>, <konstantin.ananyev@huawei.com>,
	<lihuisong@huawei.com>, <dev@dpdk.org>
Subject: Re: [PATCH v8 0/6] power: refactor power management library
Date: Tue, 22 Oct 2024 18:40:39 -0700	[thread overview]
Message-ID: <20241022184039.1250a5bf@hermes.local> (raw)
In-Reply-To: <20241022184133.700367-1-sivaprasad.tummala@amd.com>

On Tue, 22 Oct 2024 18:41:26 +0000
Sivaprasad Tummala <sivaprasad.tummala@amd.com> wrote:

> This patchset refactors the power management library, addressing both
> core and uncore power management. The primary changes involve the
> creation of dedicated directories for each driver within
> 'drivers/power/core/*' and 'drivers/power/uncore/*'.
> 
> This refactor significantly improves code organization, enhances
> clarity, and boosts maintainability. It lays the foundation for more
> focused development on individual drivers and facilitates seamless
> integration of future enhancements, particularly the AMD uncore driver.
> 
> Furthermore, this effort aims to streamline code maintenance by
> consolidating common functions for cpufreq and cppc across various
> core drivers, thus reducing code duplication.
> 
> Sivaprasad Tummala (6):
>   power: refactor core power management library
>   power: refactor uncore power management library
>   test/power: removed function pointer validations
>   drivers/power: uncore support for AMD EPYC processors
>   maintainers: update for drivers/power
>   power: rename library sources for cpu frequency management
> 
>  MAINTAINERS                                   |   1 +
>  app/test/test_power.c                         |  97 +-----
>  app/test/test_power_cpufreq.c                 |  54 +--
>  app/test/test_power_kvm_vm.c                  |  38 +-
>  drivers/meson.build                           |   1 +
>  .../power/acpi/acpi_cpufreq.c                 |  22 +-
>  .../power/acpi/acpi_cpufreq.h                 |   6 +-
>  drivers/power/acpi/meson.build                |  10 +
>  .../power/amd_pstate/amd_pstate_cpufreq.c     |  24 +-
>  .../power/amd_pstate/amd_pstate_cpufreq.h     |  10 +-
>  drivers/power/amd_pstate/meson.build          |  10 +
>  drivers/power/amd_uncore/amd_uncore.c         | 329 ++++++++++++++++++
>  drivers/power/amd_uncore/amd_uncore.h         | 225 ++++++++++++
>  drivers/power/amd_uncore/meson.build          |  20 ++
>  .../power/cppc/cppc_cpufreq.c                 |  22 +-
>  .../power/cppc/cppc_cpufreq.h                 |   8 +-
>  drivers/power/cppc/meson.build                |  10 +
>  .../power/intel_uncore/intel_uncore.c         |  18 +-
>  .../power/intel_uncore/intel_uncore.h         |   9 +-
>  drivers/power/intel_uncore/meson.build        |   6 +
>  .../power/kvm_vm}/guest_channel.c             |   2 +-
>  .../power/kvm_vm}/guest_channel.h             |   0
>  .../power/kvm_vm/kvm_vm.c                     |  22 +-
>  .../power/kvm_vm/kvm_vm.h                     |   6 +-
>  drivers/power/kvm_vm/meson.build              |  14 +
>  drivers/power/meson.build                     |  14 +
>  drivers/power/pstate/meson.build              |  10 +
>  .../power/pstate/pstate_cpufreq.c             |  22 +-
>  .../power/pstate/pstate_cpufreq.h             |   6 +-
>  examples/distributor/main.c                   |   2 +-
>  examples/l3fwd-power/main.c                   |  14 +-
>  examples/l3fwd-power/perf_core.c              |   2 +-
>  examples/vm_power_manager/channel_monitor.c   |   2 +-
>  examples/vm_power_manager/channel_monitor.h   |   2 +-
>  examples/vm_power_manager/guest_cli/main.c    |   2 +-
>  .../guest_cli/vm_power_cli_guest.c            |   2 +-
>  examples/vm_power_manager/power_manager.c     |   2 +-
>  lib/power/meson.build                         |  13 +-
>  lib/power/power_common.c                      |   2 +-
>  lib/power/power_common.h                      |  18 +-
>  lib/power/power_cpufreq.h                     | 191 ++++++++++
>  lib/power/power_uncore_ops.h                  | 244 +++++++++++++
>  lib/power/rte_power.c                         | 257 --------------
>  lib/power/rte_power_cpufreq.c                 | 230 ++++++++++++
>  .../{rte_power.h => rte_power_cpufreq.h}      | 120 ++++---
>  lib/power/rte_power_pmd_mgmt.h                |   2 +-
>  lib/power/rte_power_uncore.c                  | 256 +++++++-------
>  lib/power/rte_power_uncore.h                  |  61 ++--
>  lib/power/version.map                         |  15 +
>  49 files changed, 1746 insertions(+), 707 deletions(-)
>  rename lib/power/power_acpi_cpufreq.c => drivers/power/acpi/acpi_cpufreq.c (95%)
>  rename lib/power/power_acpi_cpufreq.h => drivers/power/acpi/acpi_cpufreq.h (98%)
>  create mode 100644 drivers/power/acpi/meson.build
>  rename lib/power/power_amd_pstate_cpufreq.c => drivers/power/amd_pstate/amd_pstate_cpufreq.c (95%)
>  rename lib/power/power_amd_pstate_cpufreq.h => drivers/power/amd_pstate/amd_pstate_cpufreq.h (96%)
>  create mode 100644 drivers/power/amd_pstate/meson.build
>  create mode 100644 drivers/power/amd_uncore/amd_uncore.c
>  create mode 100644 drivers/power/amd_uncore/amd_uncore.h
>  create mode 100644 drivers/power/amd_uncore/meson.build
>  rename lib/power/power_cppc_cpufreq.c => drivers/power/cppc/cppc_cpufreq.c (95%)
>  rename lib/power/power_cppc_cpufreq.h => drivers/power/cppc/cppc_cpufreq.h (97%)
>  create mode 100644 drivers/power/cppc/meson.build
>  rename lib/power/power_intel_uncore.c => drivers/power/intel_uncore/intel_uncore.c (95%)
>  rename lib/power/power_intel_uncore.h => drivers/power/intel_uncore/intel_uncore.h (97%)
>  create mode 100644 drivers/power/intel_uncore/meson.build
>  rename {lib/power => drivers/power/kvm_vm}/guest_channel.c (99%)
>  rename {lib/power => drivers/power/kvm_vm}/guest_channel.h (100%)
>  rename lib/power/power_kvm_vm.c => drivers/power/kvm_vm/kvm_vm.c (82%)
>  rename lib/power/power_kvm_vm.h => drivers/power/kvm_vm/kvm_vm.h (98%)
>  create mode 100644 drivers/power/kvm_vm/meson.build
>  create mode 100644 drivers/power/meson.build
>  create mode 100644 drivers/power/pstate/meson.build
>  rename lib/power/power_pstate_cpufreq.c => drivers/power/pstate/pstate_cpufreq.c (96%)
>  rename lib/power/power_pstate_cpufreq.h => drivers/power/pstate/pstate_cpufreq.h (98%)
>  create mode 100644 lib/power/power_cpufreq.h
>  create mode 100644 lib/power/power_uncore_ops.h
>  delete mode 100644 lib/power/rte_power.c
>  create mode 100644 lib/power/rte_power_cpufreq.c
>  rename lib/power/{rte_power.h => rte_power_cpufreq.h} (73%)
> 


This has some issues with documentation.

$ ninja -C build doc
ninja: Entering directory `build'
[3/6] Generating doc/api/doxygen-html with a custom command
/home/shemminger/DPDK/power/doc/api/doxy-api-index.md:105: warning: unable to resolve reference to 'rte_power.h' for \ref command
[5/6] Running external command doc (wrapped by meson to set env)
Building docs: Doxygen_API(HTML) Doxygen_API(Manpage) DTS_API_HTML HTML_Guides

  parent reply	other threads:[~2024-10-23  1:40 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-20 15:33 [RFC PATCH 0/2] power: refactor power management library Sivaprasad Tummala
2024-02-20 15:33 ` Sivaprasad Tummala
2024-02-20 15:33 ` [RFC PATCH 1/2] power: refactor core " Sivaprasad Tummala
2024-02-27 16:18   ` Ferruh Yigit
2024-02-29  7:10     ` Tummala, Sivaprasad
2024-02-28 12:51   ` Ferruh Yigit
2024-03-01  2:56   ` lihuisong (C)
2024-03-01 10:39     ` Hunt, David
2024-03-05  4:35     ` Tummala, Sivaprasad
2024-02-20 15:33 ` [RFC PATCH 2/2] power: refactor uncore " Sivaprasad Tummala
2024-03-01  3:33   ` lihuisong (C)
2024-03-01  6:06     ` Tummala, Sivaprasad
2024-07-20 16:50 ` [PATCH v1 0/4] power: refactor " Sivaprasad Tummala
2024-07-20 16:50   ` [PATCH v1 1/4] power: refactor core " Sivaprasad Tummala
2024-07-23 10:03     ` Hunt, David
2024-07-27 18:44       ` Tummala, Sivaprasad
2024-07-20 16:50   ` [PATCH v1 2/4] power: refactor uncore " Sivaprasad Tummala
2024-07-23 10:26     ` Hunt, David
2024-07-20 16:50   ` [PATCH v1 3/4] test/power: removed function pointer validations Sivaprasad Tummala
2024-07-22 10:49     ` Hunt, David
2024-07-27 18:45       ` Tummala, Sivaprasad
2024-07-20 16:50   ` [PATCH v1 4/4] power/amd_uncore: uncore power management support for AMD EPYC processors Sivaprasad Tummala
2024-07-23 10:33     ` Hunt, David
2024-07-27 18:46       ` Tummala, Sivaprasad
2024-07-20 16:50   ` [PATCH v1 0/4] power: refactor power management library Sivaprasad Tummala
2024-08-26 13:06   ` [PATCH v2 " Sivaprasad Tummala
2024-08-26 13:06     ` [PATCH v2 1/4] power: refactor core " Sivaprasad Tummala
2024-08-26 15:26       ` Stephen Hemminger
2024-10-07 19:25         ` Tummala, Sivaprasad
2024-08-27  8:21       ` lihuisong (C)
2024-09-12 11:17         ` Tummala, Sivaprasad
2024-09-13  7:34           ` lihuisong (C)
2024-09-18  8:37             ` Tummala, Sivaprasad
2024-09-19  3:37               ` lihuisong (C)
2024-08-26 13:06     ` [PATCH v2 2/4] power: refactor uncore " Sivaprasad Tummala
2024-08-27 13:02       ` lihuisong (C)
2024-10-08  6:19         ` Tummala, Sivaprasad
2024-10-22  2:05           ` lihuisong (C)
2024-08-26 13:06     ` [PATCH v2 3/4] test/power: removed function pointer validations Sivaprasad Tummala
2024-08-26 13:06     ` [PATCH v2 4/4] power/amd_uncore: uncore power management support for AMD EPYC processors Sivaprasad Tummala
2024-08-26 13:06     ` [PATCH v2 0/4] power: refactor power management library Sivaprasad Tummala
2024-10-07 18:01     ` Stephen Hemminger
2024-10-08 17:27     ` [PATCH v3 0/5] " Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 1/5] power: refactor core " Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 4/5] power/amd_uncore: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-08 17:27       ` [PATCH v3 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-08 17:43       ` Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 1/5] power: refactor core " Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 4/5] power/amd_uncore: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-08 17:43         ` [PATCH v3 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-12 17:44         ` Stephen Hemminger
2024-10-15  2:49       ` [PATCH v4 " Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 1/5] power: refactor core " Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 4/5] power/amd_uncore: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-15  2:49         ` [PATCH v4 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-15  3:15         ` Stephen Hemminger
2024-10-17 10:26         ` [PATCH v5 " Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 1/5] power: refactor core " Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 4/5] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-17 10:26           ` [PATCH v5 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-17 16:17           ` Stephen Hemminger
2024-10-20  9:22           ` [PATCH v6 " Sivaprasad Tummala
2024-10-20  9:22             ` [PATCH v6 1/5] power: refactor core " Sivaprasad Tummala
2024-10-20  9:22             ` [PATCH v6 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-20 23:25               ` Stephen Hemminger
2024-10-20 23:28               ` Stephen Hemminger
2024-10-20  9:22             ` [PATCH v6 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-20  9:22             ` [PATCH v6 4/5] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-20  9:22             ` [PATCH v6 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-20  9:22             ` [PATCH v6 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-21  4:07             ` [PATCH v7 " Sivaprasad Tummala
2024-10-21  4:07               ` [PATCH v7 1/5] power: refactor core " Sivaprasad Tummala
2024-10-22  1:20                 ` Stephen Hemminger
2024-10-22  6:45                   ` Tummala, Sivaprasad
2024-10-22  3:03                 ` lihuisong (C)
2024-10-22  7:13                   ` Tummala, Sivaprasad
2024-10-22  8:36                     ` lihuisong (C)
2024-10-21  4:07               ` [PATCH v7 2/5] power: refactor uncore " Sivaprasad Tummala
2024-10-22  1:18                 ` Stephen Hemminger
2024-10-22  6:45                   ` Tummala, Sivaprasad
2024-10-22  3:17                 ` lihuisong (C)
2024-10-22  6:46                   ` Tummala, Sivaprasad
2024-10-21  4:07               ` [PATCH v7 3/5] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-21  4:07               ` [PATCH v7 4/5] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-21  4:07               ` [PATCH v7 5/5] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-21  4:07               ` [PATCH v7 0/5] power: refactor power management library Sivaprasad Tummala
2024-10-22  1:34               ` Stephen Hemminger
2024-10-22 18:41               ` [PATCH v8 0/6] " Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 1/6] power: refactor core " Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 2/6] power: refactor uncore " Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 3/6] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 4/6] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 5/6] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 6/6] power: rename library sources for cpu frequency management Sivaprasad Tummala
2024-10-22 18:41                 ` [PATCH v8 0/6] power: refactor power management library Sivaprasad Tummala
2024-10-23  1:40                 ` Stephen Hemminger [this message]
2024-10-23  5:11                 ` [PATCH v9 " Sivaprasad Tummala
2024-10-23  5:11                   ` [PATCH v9 1/6] power: refactor core " Sivaprasad Tummala
2024-10-26  3:06                     ` lihuisong (C)
2024-10-26  5:22                       ` Tummala, Sivaprasad
2024-10-26  7:03                         ` lihuisong (C)
2024-10-23  5:11                   ` [PATCH v9 2/6] power: refactor uncore " Sivaprasad Tummala
2024-10-26  3:12                     ` lihuisong (C)
2024-10-23  5:11                   ` [PATCH v9 3/6] test/power: removed function pointer validations Sivaprasad Tummala
2024-10-23  5:11                   ` [PATCH v9 4/6] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-10-23  5:11                   ` [PATCH v9 5/6] maintainers: update for drivers/power Sivaprasad Tummala
2024-10-23  5:11                   ` [PATCH v9 6/6] power: rename library sources for cpu frequency management Sivaprasad Tummala
2024-10-26  4:09                     ` lihuisong (C)
2024-10-23  5:11                   ` [PATCH v9 0/6] power: refactor power management library Sivaprasad Tummala
2024-10-28 19:55                   ` [PATCH v10 " Sivaprasad Tummala
2024-10-28 19:55                     ` [PATCH v10 1/6] power: refactor core " Sivaprasad Tummala
2024-11-10 10:40                       ` Thomas Monjalon
2024-10-28 19:55                     ` [PATCH v10 2/6] power: refactor uncore " Sivaprasad Tummala
2024-11-16  0:55                       ` Stephen Hemminger
2024-10-28 19:55                     ` [PATCH v10 3/6] test/power: removed function pointer validations Sivaprasad Tummala
2024-11-10 10:11                       ` Thomas Monjalon
2024-10-28 19:55                     ` [PATCH v10 4/6] drivers/power: uncore support for AMD EPYC processors Sivaprasad Tummala
2024-11-10 10:52                       ` Thomas Monjalon
2024-10-28 19:55                     ` [PATCH v10 5/6] maintainers: update for drivers/power Sivaprasad Tummala
2024-11-10 10:54                       ` Thomas Monjalon
2024-10-28 19:55                     ` [PATCH v10 6/6] power: rename library sources for cpu frequency management Sivaprasad Tummala
2024-11-10 18:35                     ` [PATCH v10 0/6] power: refactor power management library Thomas Monjalon
2024-11-10 19:29                       ` Stephen Hemminger
2024-11-10 23:40                         ` Thomas Monjalon
2024-11-12  8:20                       ` David Marchand
2024-11-12 10:37                         ` David Marchand
2024-11-12 14:50                           ` Tummala, Sivaprasad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241022184039.1250a5bf@hermes.local \
    --to=stephen@networkplumber.org \
    --cc=anatoly.burakov@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=gakhil@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@huawei.com \
    --cc=lihuisong@huawei.com \
    --cc=radu.nicolau@intel.com \
    --cc=sivaprasad.tummala@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).