[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0j6At1DuQYjjbA-fw9Z-jJPhXSVSz=_uLa3KfNMJowYbA@mail.gmail.com>
Date: Wed, 6 Mar 2024 13:53:07 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Daniel Lezcano <daniel.lezcano@...aro.org>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>, 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 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?
Powered by blists - more mailing lists