[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240715044527.GA1544@sol.localdomain>
Date: Sun, 14 Jul 2024 21:45:27 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: Linux PM <linux-pm@...r.kernel.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
LKML <linux-kernel@...r.kernel.org>,
Lukasz Luba <lukasz.luba@....com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Zhang Rui <rui.zhang@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>
Subject: Re: [PATCH v3] thermal: core: Call monitor_thermal_zone() if zone
temperature is invalid
Hello,
On Thu, Jul 04, 2024 at 01:46:26PM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
>
> Commit 202aa0d4bb53 ("thermal: core: Do not call handle_thermal_trip()
> if zone temperature is invalid") caused __thermal_zone_device_update()
> to return early if the current thermal zone temperature was invalid.
>
> This was done to avoid running handle_thermal_trip() and governor
> callbacks in that case which led to confusion. However, it went too
> far because monitor_thermal_zone() still needs to be called even when
> the zone temperature is invalid to ensure that it will be updated
> eventually in case thermal polling is enabled and the driver has no
> other means to notify the core of zone temperature changes (for example,
> it does not register an interrupt handler or ACPI notifier).
>
> Also if the .set_trips() zone callback is expected to set up monitoring
> interrupts for a thermal zone, it needs to be provided with valid
> boundaries and that can only be done if the zone temperature is known.
>
> Accordingly, to ensure that __thermal_zone_device_update() will
> run again after a failing zone temperature check, make it call
> monitor_thermal_zone() regardless of whether or not the zone
> temperature is valid and make the latter schedule a thermal zone
> temperature update if the zone temperature is invalid even if
> polling is not enabled for the thermal zone (however, if this
> continues to fail, give up after some time).
>
> Fixes: 202aa0d4bb53 ("thermal: core: Do not call handle_thermal_trip() if zone temperature is invalid")
> Reported-by: Daniel Lezcano <daniel.lezcano@...aro.org>
> Link: https://lore.kernel.org/linux-pm/dc1e6cba-352b-4c78-93b5-94dd033fca16@linaro.org
> Link: https://lore.kernel.org/linux-pm/2764814.mvXUDI8C0e@rjwysocki.net
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
On v6.10 I'm seeing the following messages spammed to the kernel log endlessly,
and reverting this commit fixes it.
[ 156.410567] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 156.666583] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 156.922598] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 157.178613] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 157.434636] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 157.690774] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 157.946659] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 158.202717] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 158.458697] thermal thermal_zone0: failed to read out thermal zone (-61)
/sys/class/thermal/thermal_zone0/type contains "iwlwifi_1".
- Eric
Powered by blists - more mailing lists