public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Lukasz Luba <lukasz.luba@arm.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Linux PM <linux-pm@vger.kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Subject: Re: [PATCH v1 14/16] thermal: gov_user_space: Use .trip_crossed() instead of .throttle()
Date: Fri, 19 Apr 2024 19:16:42 +0100	[thread overview]
Message-ID: <16a47cb9-a567-482a-a875-9070ce9973bf@arm.com> (raw)
In-Reply-To: <15186663.tv2OnDr8pf@kreacher>



On 4/10/24 18:03, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> Notifying user space about trip points that have not been crossed is
> not particuarly useful, so modity the User Space governor to use the

s/particuarly/particularly/

s/modity/modify/

> .trip_crossed() callback, which is only invoked for trips that have been
> crossed, instead of .throttle() that is invoked for all trips in a
> thermal zone every time the zone is updated.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
> 
> Note: I am not actually sure if there is user space depending on the
> current behavior that can be broken by this change.
> 
> I can easily imagine trying to implement a complicated governor in user
> space that will look at all of the trips in the thermal zone regardless
> of whether or not they are crossed, which can be kind of helped by the
> current behavior of the user space governor.
> 
> However, the total overhead caused by it is considerable and quite
> arguably it may not be acceptable at least in some cases.

If there is a such user space governor - it should not rely on
notifications from each trip. It should rather read from sysfs
the list of all trips during setup and just act on those which
have been crossed in runtime, IMO.

Therefore, I agree with the proposed change.

> 
> ---
>   drivers/thermal/gov_user_space.c |   10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> Index: linux-pm/drivers/thermal/gov_user_space.c
> ===================================================================
> --- linux-pm.orig/drivers/thermal/gov_user_space.c
> +++ linux-pm/drivers/thermal/gov_user_space.c
> @@ -26,11 +26,13 @@ static int user_space_bind(struct therma
>    * notify_user_space - Notifies user space about thermal events
>    * @tz: thermal_zone_device
>    * @trip: trip point
> + * @crossed_up: whether or not the trip has been crossed on the way up
>    *
>    * This function notifies the user space through UEvents.
>    */
> -static int notify_user_space(struct thermal_zone_device *tz,
> -			     const struct thermal_trip *trip)
> +static void notify_user_space(struct thermal_zone_device *tz,
> +			      const struct thermal_trip *trip,
> +			      bool crossed_up)
>   {
>   	char *thermal_prop[5];
>   	int i;
> @@ -46,13 +48,11 @@ static int notify_user_space(struct ther
>   	kobject_uevent_env(&tz->device.kobj, KOBJ_CHANGE, thermal_prop);
>   	for (i = 0; i < 4; ++i)
>   		kfree(thermal_prop[i]);
> -
> -	return 0;
>   }
>   
>   static struct thermal_governor thermal_gov_user_space = {
>   	.name		= "user_space",
> -	.throttle	= notify_user_space,
> +	.trip_crossed	= notify_user_space,
>   	.bind_to_tz	= user_space_bind,
>   };
>   THERMAL_GOVERNOR_DECLARE(thermal_gov_user_space);
> 
> 
> 

LGTM w/ the spelling fixes applied

Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>

  reply	other threads:[~2024-04-19 18:16 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 15:41 [PATCH v1 00/16] thermal: core: Redesign the governor interface Rafael J. Wysocki
2024-04-10 16:04 ` [PATCH v1 02/16] thermal: gov_bang_bang: Use .trip_crossed() instead of .throttle() Rafael J. Wysocki
2024-04-19  9:34   ` Lukasz Luba
2024-04-23 17:04   ` Daniel Lezcano
2024-04-10 16:05 ` [PATCH v1 03/16] thermal: gov_bang_bang: Clean up thermal_zone_trip_update() Rafael J. Wysocki
2024-04-19  9:41   ` Lukasz Luba
2024-04-23 17:05   ` Daniel Lezcano
2024-04-10 16:06 ` [PATCH v1 04/16] thermal: gov_bang_bang: Fold thermal_zone_trip_update() into its caller Rafael J. Wysocki
2024-04-19  9:42   ` Lukasz Luba
2024-04-23 17:06   ` Daniel Lezcano
2024-04-10 16:08 ` [PATCH v1 05/16] thermal: core: Introduce .manage() callback for thermal governors Rafael J. Wysocki
2024-04-19  9:44   ` Lukasz Luba
2024-04-23 17:07   ` Daniel Lezcano
2024-04-10 16:10 ` [PATCH v1 06/16] thermal: gov_power_allocator: Use .manage() callback instead of .throttle() Rafael J. Wysocki
2024-04-19  9:50   ` Lukasz Luba
2024-04-10 16:10 ` [PATCH v1 01/16] thermal: core: Introduce .trip_crossed() callback for thermal governors Rafael J. Wysocki
2024-04-19  8:47   ` Lukasz Luba
2024-04-23 17:14   ` Daniel Lezcano
2024-04-23 17:25     ` Rafael J. Wysocki
2024-04-23 17:58       ` Daniel Lezcano
2024-04-10 16:12 ` [PATCH v1 07/16] thermal: gov_power_allocator: Eliminate a redundant variable Rafael J. Wysocki
2024-04-19  9:56   ` Lukasz Luba
2024-04-23 17:35   ` Daniel Lezcano
2024-04-23 17:54     ` Rafael J. Wysocki
2024-04-23 18:00       ` Daniel Lezcano
2024-04-23 18:05         ` Rafael J. Wysocki
2024-04-23 18:09           ` Daniel Lezcano
2024-04-10 16:13 ` [PATCH v1 08/16] thermal: gov_step_wise: Use .manage() callback instead of .throttle() Rafael J. Wysocki
2024-04-19 17:20   ` Lukasz Luba
2024-04-24  7:54   ` Daniel Lezcano
2024-04-10 16:43 ` [PATCH v1 09/16] thermal: gov_step_wise: Use trip thresholds instead of trip temperatures Rafael J. Wysocki
2024-04-19 19:11   ` Lukasz Luba
2024-04-24  7:03   ` Daniel Lezcano
2024-04-10 16:44 ` [PATCH v1 10/16] thermal: gov_step_wise: Clean up thermal_zone_trip_update() Rafael J. Wysocki
2024-04-19 18:21   ` Lukasz Luba
2024-04-10 16:57 ` [PATCH v1 11/16] thermal: gov_fair_share: Use .manage() callback instead of .throttle() Rafael J. Wysocki
2024-04-19 18:28   ` Lukasz Luba
2024-04-10 16:58 ` [PATCH v1 12/16] thermal: gov_fair_share: Use trip thresholds instead of trip temperatures Rafael J. Wysocki
2024-04-19 19:18   ` Lukasz Luba
2024-04-10 17:00 ` [PATCH v1 13/16] thermal: gov_fair_share: Eliminate unnecessary integer divisions Rafael J. Wysocki
2024-04-19 18:46   ` Lukasz Luba
2024-04-10 17:03 ` [PATCH v1 14/16] thermal: gov_user_space: Use .trip_crossed() instead of .throttle() Rafael J. Wysocki
2024-04-19 18:16   ` Lukasz Luba [this message]
2024-04-24  9:14   ` Daniel Lezcano
2024-04-24 11:32     ` Srinivas Pandruvada
2024-04-24 11:34       ` Daniel Lezcano
2024-04-24 11:44         ` Srinivas Pandruvada
2024-04-10 17:42 ` [PATCH v1 15/16] thermal: core: Drop the .throttle() governor callback Rafael J. Wysocki
2024-04-19 18:50   ` Lukasz Luba
2024-04-24  9:11   ` Daniel Lezcano
2024-04-10 17:44 ` [PATCH v1 16/16] thermal: core: Relocate critical and hot trip handling Rafael J. Wysocki
2024-04-19 18:52   ` Lukasz Luba
2024-04-24  9:17   ` Daniel Lezcano

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=16a47cb9-a567-482a-a875-9070ce9973bf@arm.com \
    --to=lukasz.luba@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=srinivas.pandruvada@linux.intel.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