Re: [RFC PATCH] thermal/core: Fix trip point crossing events ordering

From: Daniel Lezcano
Date: Wed Mar 06 2024 - 07:43:15 EST


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.


--
<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