[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3bb7c6cf-f7a8-4059-ad8e-02e09c2a44b1@linaro.org>
Date: Wed, 6 Mar 2024 16:55:51 +0100
From: Daniel Lezcano <daniel.lezcano@...aro.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: rjw@...ysocki.net, linux-kernel@...r.kernel.org,
Zhang Rui <rui.zhang@...el.com>, Lukasz Luba <lukasz.luba@....com>,
"open list:THERMAL" <linux-pm@...r.kernel.org>
Subject: Re: [RFC PATCH] thermal/core: Fix trip point crossing events ordering
On 06/03/2024 16:41, Rafael J. Wysocki wrote:
> On Wed, Mar 6, 2024 at 2:16 PM Daniel Lezcano <daniel.lezcano@...aro.org> wrote:
>>
>> On 06/03/2024 13:53, Rafael J. Wysocki wrote:
>>> On Wed, Mar 6, 2024 at 1:43 PM Daniel Lezcano <daniel.lezcano@...aro.org> wrote:
>>>>
>>>> On 06/03/2024 13:02, Rafael J. Wysocki wrote:
>>>>
>>>> [ ... ]
>>>>
>>>>>> +#define for_each_trip_reverse(__tz, __trip) \
>>>>>> + for (__trip = &__tz->trips[__tz->num_trips - 1]; __trip >= __tz->trips ; __trip--)
>>>>>> +
>>>>>> void __thermal_zone_set_trips(struct thermal_zone_device *tz);
>>>>>> int thermal_zone_trip_id(const struct thermal_zone_device *tz,
>>>>>> const struct thermal_trip *trip);
>>>>>> --
>>>>>
>>>>> Generally speaking, this is a matter of getting alignment on the
>>>>> expectations between the kernel and user space.
>>>>>
>>>>> It looks like user space expects to get the notifications in the order
>>>>> of either growing or falling temperatures, depending on the direction
>>>>> of the temperature change. Ordering the trips in the kernel is not
>>>>> practical, but the notifications can be ordered in principle. Is this
>>>>> what you'd like to do?
>>>>
>>>> Yes
>>>>
>>>>> Or can user space be bothered with recognizing that it may get the
>>>>> notifications for different trips out of order?
>>>>
>>>> IMO it is a bad information if the trip points events are coming
>>>> unordered. The temperature signal is a time related measurements, the
>>>> userspace should receive thermal information from this signal in the
>>>> right order. It sounds strange to track the temperature signal in the
>>>> kernel, then scramble the information, pass it to the userspace and
>>>> except it to apply some kind of logic to unscramble it.
>>>
>>> So the notifications can be ordered before sending them out, as long
>>> as they are produced by a single __thermal_zone_device_update() call.
>>>
>>> I guess you also would like the thermal_debug_tz_trip_up/down() calls
>>> to be ordered, wouldn't you?
>>
>> Right
>
> I have an idea how to do this, but it is based on a couple of patches
> that I've been working on in the meantime.
>
> Let me post these patches first and then I'll send a prototype patch
> addressing this on top of them.
That is awesome, thanks !
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog
Powered by blists - more mailing lists