2024-05-08 03:37:25

by Ricardo Neri

[permalink] [raw]
Subject: [PATCH v2 4/4] thermal: intel: hfi: Increase the number of CPU capabilities per netlink event

The number of updated CPU capabilities per netlink event is hard-coded to
16. On systems with more than 16 CPUs (a common case), it takes more than
one thermal netlink event to relay all the new capabilities after an HFI
interrupt. This adds unnecessary overhead to both the kernel and user space
entities.

Increase the number of CPU capabilities updated per event to 64. Any system
with 64 CPUs or less can now update all the capabilities in a single
thermal netlink event.

Signed-off-by: Ricardo Neri <[email protected]>
---
Cc: Len Brown <[email protected]>
Cc: Srinivas Pandruvada <[email protected]>
Cc: Stanislaw Gruszka <[email protected]>
Cc: Zhang Rui <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
Changes since v2:
* Dropped the debugfs interface. Instead, increased the size of the
thermal netlink message size to 64 CPU capabilities.
---
drivers/thermal/intel/intel_hfi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/intel/intel_hfi.c b/drivers/thermal/intel/intel_hfi.c
index c6658f8c5cca..a180a98bb9f1 100644
--- a/drivers/thermal/intel/intel_hfi.c
+++ b/drivers/thermal/intel/intel_hfi.c
@@ -167,7 +167,7 @@ static DEFINE_MUTEX(hfi_instance_lock);

static struct workqueue_struct *hfi_updates_wq;
#define HFI_UPDATE_DELAY_MS 100
-#define HFI_THERMNL_CAPS_PER_EVENT 16
+#define HFI_THERMNL_CAPS_PER_EVENT 64

static void get_hfi_caps(struct hfi_instance *hfi_instance,
struct thermal_genl_cpu_caps *cpu_caps)
--
2.34.1



2024-05-08 04:48:41

by Zhang, Rui

[permalink] [raw]
Subject: Re: [PATCH v2 4/4] thermal: intel: hfi: Increase the number of CPU capabilities per netlink event

On Tue, 2024-05-07 at 20:43 -0700, Ricardo Neri wrote:
> The number of updated CPU capabilities per netlink event is hard-
> coded to
> 16. On systems with more than 16 CPUs (a common case), it takes more
> than
> one thermal netlink event to relay all the new capabilities after an
> HFI
> interrupt. This adds unnecessary overhead to both the kernel and user
> space
> entities.
>
> Increase the number of CPU capabilities updated per event to 64. Any
> system
> with 64 CPUs or less can now update all the capabilities in a single
> thermal netlink event.
>
> Signed-off-by: Ricardo Neri <[email protected]>

Acked-by: Zhang Rui <[email protected]>

-rui
> ---
> Cc: Len Brown <[email protected]>
> Cc: Srinivas Pandruvada <[email protected]>
> Cc: Stanislaw Gruszka <[email protected]>
> Cc: Zhang Rui <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> ---
> Changes since v2:
>  * Dropped the debugfs interface. Instead, increased the size of the
>    thermal netlink message size to 64 CPU capabilities.
> ---
>  drivers/thermal/intel/intel_hfi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/thermal/intel/intel_hfi.c
> b/drivers/thermal/intel/intel_hfi.c
> index c6658f8c5cca..a180a98bb9f1 100644
> --- a/drivers/thermal/intel/intel_hfi.c
> +++ b/drivers/thermal/intel/intel_hfi.c
> @@ -167,7 +167,7 @@ static DEFINE_MUTEX(hfi_instance_lock);
>  
>  static struct workqueue_struct *hfi_updates_wq;
>  #define HFI_UPDATE_DELAY_MS            100
> -#define HFI_THERMNL_CAPS_PER_EVENT     16
> +#define HFI_THERMNL_CAPS_PER_EVENT     64
>  
>  static void get_hfi_caps(struct hfi_instance *hfi_instance,
>                          struct thermal_genl_cpu_caps *cpu_caps)