Message ID | 20240223155942.60813-1-stanislaw.gruszka@linux.intel.com (mailing list archive) |
---|---|
Headers | show |
Series | thermal/netlink/intel_hfi: Enable HFI feature only when required | expand |
Your heading version is not correct: It should be "[PATCH v5 0/3] thermal/netlink/intel_hfi: Enable HFI feature only when required" Not "[PATCH v4.." Thanks, Srinivas On Fri, 2024-02-23 at 16:59 +0100, Stanislaw Gruszka wrote: > The patchset is based on > > https://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux.git > for-thermal-genetlink-family-bind-unbind-callbacks > > and implement genetlink family bind/unbind callbacks in thermal- > netlink and > add notifications to thermal subdrivers. Those willh 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 v4 -> v5: > > - Fix hif vs. hfi in the changelog > - Rename thermal_gnl_chain > - Add new patch with rename of thermal_gnl_family > - Fix syscore concurrency comment > - Remove unneeded hfi_instance variable > - Rename hfi_do_enable/disable > - Avoid multiple enabling > - Add comment about registering for events before they can be > generated > - Rename hfi_thermal_clients_num since later there will be KVM > clients > > Changes v3 -> v4: > > - Add 'static inline' in patch2 > > 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/ > v3: > https://lore.kernel.org/linux-pm/20240209120625.1775017-1-stanislaw.gruszka@linux.intel.com/ > v4: > https://lore.kernel.org/linux-pm/20240212161615.161935-1-stanislaw.gruszka@linux.intel.com/ > > > *** BLURB HERE *** > > Stanislaw Gruszka (3): > thermal: netlink: Add genetlink bind/unbind notifications > thermal: netlink: Rename thermal_gnl_family > thermal: intel: hfi: Enable interface only when required > > drivers/thermal/intel/intel_hfi.c | 97 ++++++++++++++++++++++++++++- > -- > drivers/thermal/thermal_netlink.c | 62 +++++++++++++++----- > drivers/thermal/thermal_netlink.h | 26 +++++++++ > 3 files changed, 161 insertions(+), 24 deletions(-) >