lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <6017196.lOV4Wx5bFT@kreacher>
Date: Mon, 12 Feb 2024 19:25:03 +0100
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Linux PM <linux-pm@...r.kernel.org>
Cc: Lukasz Luba <lukasz.luba@....com>, LKML <linux-kernel@...r.kernel.org>,
 Daniel Lezcano <daniel.lezcano@...aro.org>,
 Stanislaw Gruszka <stanislaw.gruszka@...ux.intel.com>,
 Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
 Zhang Rui <rui.zhang@...el.com>, netdev@...r.kernel.org,
 Ido Schimmel <idosch@...dia.com>, Petr Machata <petrm@...dia.com>,
 Miri Korenblit <miriam.rachel.korenblit@...el.com>,
 linux-wireless@...r.kernel.org, Shawn Guo <shawnguo@...nel.org>,
 Sascha Hauer <s.hauer@...gutronix.de>,
 Pengutronix Kernel Team <kernel@...gutronix.de>,
 Manaf Meethalavalappu Pallikunhi <quic_manafm@...cinc.com>
Subject: [PATCH v2 0/9] thermal: Writable trip points handling rework

Hi Everyone,

This is an update of

https://lore.kernel.org/linux-pm/3232442.5fSG56mABF@kreacher/

fixing a few bugs and renaming the new trip point flags introduced by it.

The original description of the patch series is still applicable:

"The purpose of this patch series is to allow thermal zone creators
 to specify which properties (temperature or hysteresis) of which
 trip points can be set from user space via sysfs on a per-trip basis
 instead of passing writable trips masks to the thermal zone registration
 function which is both cumbersome and error prone and it doesn't even
 allow to request different treatment of different trip properties.

 The writable trip masks used today only affect trip temperatures (that is, if
 a trip point is in a writable trips mask, its temperature can be set via
 sysfs) and they only take effect if the CONFIG_THERMAL_WRITABLE_TRIPS kernel
 configuration option is set, which appears to be assumed by at least some
 of the drivers using writable trips masks.  Some other drivers using them
 simply select CONFIG_THERMAL_WRITABLE_TRIPS which pretty much defeats its
 purpose (and imx even sets this option in its defconfig).

 For this reasons, patch [1/9] removes CONFIG_THERMAL_WRITABLE_TRIPS and makes
 the writable trips masks always work.

 Moreover, trip hysteresis, which is not affected either by the writable trips
 masks or by CONFIG_THERMAL_WRITABLE_TRIPS, can only be set via sysfs if the
 .set_trip_hyst() operation is provided by the given thermal zone, but currently
 this thermal zone operation is used by no one, so effectively trip hysteresis
 cannot be set via sysfs at all.  This is not a problem for the majority of
 drivers that want trip temperatures to be set via sysfs, because they also
 don't want trip hysteresis to be changed for any trips (at least as far as I
 can say), but there are use cases in which it is desirable to be able to
 update trip hysteresis as well as trip temperature (for example see
 https://lore.kernel.org/linux-pm/20240106191502.29126-1-quic_manafm@quicinc.com/).
 Those use cases are not addressed here directly, but after this series
 addressing them should be relatively straightforward.

 Namely, patch [2/9] adds flags to struct thermal_trip and defines two of them
 to indicate whether or not setting the temperature or hysteresis of the given
 trip via sysfs is allowed.  If a writable trips mask is passed to
 thermal_zone_device_register_with_trips(), is it is used to set the
 "writable temperature" flag for the trips covered by it and that flag is
 then consulted by the thermal sysfs code.  The "writable hysteresis" trip
 flag is also taken into account by the thermal sysfs code, but it is not set
 automatically in any case.

 Patch [3/9] is based on the observation that the .set_trip_hyst() thermal zone
 operation is never used - it simply drops that callback from struct
 thermal_zone_device_ops and adjusts the code checking its presence.

 Patches [4-8/9] update drivers using writable trips masks to set the new
 "writable temperature" flag directly instead and some of them are simplified
 a bit as a result.  After these patches, all of the callers of
 thermal_zone_device_register_with_trips() pass a zero writable trips mask
 to it, so patch [9/9] drops that mask from the functions argument list and
 adjusts all of its callers accordingly.

 After all of the changes in this series, allowing the hysteresis value to be
 set via sysfs for a given trip is a matter of setting its "writable
 hysteresis" flag (and analogously for trip temperature)."

Thanks!




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ