All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] thermal/netlink/intel_hfi: Enable HFI feature only when required
@ 2024-02-09 12:06 Stanislaw Gruszka
  2024-02-09 12:06 ` [PATCH v3 1/3] genetlink: Add per family bind/unbind callbacks Stanislaw Gruszka
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Stanislaw Gruszka @ 2024-02-09 12:06 UTC (permalink / raw)
  To: linux-pm
  Cc: Rafael J. Wysocki, Srinivas Pandruvada, Ricardo Neri,
	Daniel Lezcano, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Jiri Pirko, Johannes Berg, Florian Westphal, netdev

The patchset introduces a new genetlink family bind/unbind callbacks
and thermal/netlink notifications, which allow drivers to send netlink
multicast events based on the presence of actual user-space consumers.
This functionality optimizes resource usage by allowing disabling
of features when not needed.

Then implement the notification mechanism in the intel_hif driver,
it is utilized to disable the Hardware Feedback Interface (HFI)
dynamically. By implementing a thermal genl notify callback, the driver
can now enable or disable the HFI based on actual demand, particularly
when user-space applications like intel-speed-select or Intel Low Power
daemon utilize events related to performance and energy efficiency
capabilities.

On machines where Intel HFI is present, but there are no user-space
components installed, we can save tons of CPU cycles.

Changes v2 -> v3:

- Fix unused variable compilation warning
- Add missed Suggested by tag to patch2
 
Changes v1 -> v2:

- Rewrite using netlink_bind/netlink_unbind callbacks.

- Minor changelog tweaks.

- Add missing check in intel hfi syscore resume (had it on my testing,
but somehow missed in post).

- Do not use netlink_has_listeners() any longer, use custom counter instead.
To keep using netlink_has_listners() would be required to rearrange 
netlink_setsockopt() and possibly netlink_bind() functions, to call 
nlk->netlink_bind() after listeners are updated. So I decided to custom
counter. This have potential issue as thermal netlink registers before
intel_hif, so theoretically intel_hif can miss events. But since both
are required to be kernel build-in (if CONFIG_INTEL_HFI_THERMAL is
configured), they start before any user-space.

v1: https://lore.kernel.org/linux-pm/20240131120535.933424-1-stanislaw.gruszka@linux.intel.com//
v2: https://lore.kernel.org/linux-pm/20240206133605.1518373-1-stanislaw.gruszka@linux.intel.com/

Stanislaw Gruszka (3):
  genetlink: Add per family bind/unbind callbacks
  thermal: netlink: Add genetlink bind/unbind notifications
  thermal: intel: hfi: Enable interface only when required

 drivers/thermal/intel/intel_hfi.c | 95 +++++++++++++++++++++++++++----
 drivers/thermal/thermal_netlink.c | 40 +++++++++++--
 drivers/thermal/thermal_netlink.h | 25 ++++++++
 include/net/genetlink.h           |  4 ++
 net/netlink/genetlink.c           | 30 ++++++++++
 5 files changed, 179 insertions(+), 15 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-02-10 10:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-09 12:06 [PATCH v3 0/3] thermal/netlink/intel_hfi: Enable HFI feature only when required Stanislaw Gruszka
2024-02-09 12:06 ` [PATCH v3 1/3] genetlink: Add per family bind/unbind callbacks Stanislaw Gruszka
2024-02-09 12:06 ` [PATCH v3 2/3] thermal: netlink: Add genetlink bind/unbind notifications Stanislaw Gruszka
2024-02-09 18:28   ` Jakub Kicinski
2024-02-10 10:50     ` Stanislaw Gruszka
2024-02-09 12:06 ` [PATCH v3 3/3] thermal: intel: hfi: Enable interface only when required Stanislaw Gruszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.