From: Marek Szyprowski <m.szyprowski@samsung.com>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
rui.zhang@intel.com,
Broadcom Kernel Team <bcm-kernel-feedback-list@broadcom.com>,
Support Opensource <support.opensource@diasemi.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
NXP Linux Team <linux-imx@nxp.com>,
Andy Gross <agross@kernel.org>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Alim Akhtar <alim.akhtar@samsung.com>,
netdev@vger.kernel.org, platform-driver-x86@vger.kernel.org,
linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-omap@vger.kernel.org, rafael@kernel.org
Subject: Re: [PATCH v8 00/29] Rework the trip points creation
Date: Wed, 5 Oct 2022 15:05:41 +0200 [thread overview]
Message-ID: <207c1979-0da2-b05d-fead-6880ad956b90@samsung.com> (raw)
In-Reply-To: <851008bf-145d-224c-87a8-cb6ec1e9addb@linaro.org>
On 05.10.2022 14:37, Daniel Lezcano wrote:
>
> Hi Marek,
>
> On 03/10/2022 23:18, Daniel Lezcano wrote:
>
> [ ... ]
>
>>> I've tested this v8 patchset after fixing the issue with Exynos TMU
>>> with
>>> https://lore.kernel.org/all/20221003132943.1383065-1-daniel.lezcano@linaro.org/
>>>
>>> patch and I got the following lockdep warning on all Exynos-based
>>> boards:
>>>
>>>
>>> ======================================================
>>> WARNING: possible circular locking dependency detected
>>> 6.0.0-rc1-00083-ge5c9d117223e #12945 Not tainted
>>> ------------------------------------------------------
>>> swapper/0/1 is trying to acquire lock:
>>> c1ce66b0 (&data->lock#2){+.+.}-{3:3}, at: exynos_get_temp+0x3c/0xc8
>>>
>>> but task is already holding lock:
>>> c2979b94 (&tz->lock){+.+.}-{3:3}, at:
>>> thermal_zone_device_update.part.0+0x3c/0x528
>>>
>>> which lock already depends on the new lock.
>>
>> I'm wondering if the problem is not already there and related to
>> data->lock ...
>>
>> Doesn't the thermal zone lock already prevent racy access to the data
>> structure?
>>
>> Another question: if the sensor clock is disabled after reading it,
>> how does the hardware update the temperature and detect the programed
>> threshold is crossed?
>
> just a gentle ping, as the fix will depend on your answer ;)
>
Sorry, I've been busy with other stuff. I thought I will fix this once I
find a bit of spare time.
IMHO the clock management is a bit over-engineered, as there is little
(if any) benefit from such fine grade clock management. That clock is
needed only for the AHB related part of the TMU (reading/writing the
registers). The IRQ generation and temperature measurement is clocked
from so called 'sclk' (special clock).
I also briefly looked at the code and the internal lock doesn't look to
be really necessary assuming that the thermal core already serializes
all the calls.
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
next prev parent reply other threads:[~2022-10-05 13:05 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20221003092704eucas1p2875c1f996dfd60a58f06cf986e02e8eb@eucas1p2.samsung.com>
2022-10-03 9:25 ` [PATCH v8 00/29] Rework the trip points creation Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 01/29] thermal/core: Add a generic thermal_zone_get_trip() function Daniel Lezcano
2023-03-12 12:14 ` Ido Schimmel
2023-03-13 10:45 ` Daniel Lezcano
2023-03-13 12:12 ` Ido Schimmel
2022-10-03 9:25 ` [PATCH v8 02/29] thermal/sysfs: Always expose hysteresis attributes Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 03/29] thermal/core: Add a generic thermal_zone_set_trip() function Daniel Lezcano
2022-10-03 11:56 ` Rafael J. Wysocki
2022-10-03 9:25 ` [PATCH v8 04/29] thermal/core/governors: Use thermal_zone_get_trip() instead of ops functions Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 05/29] thermal/of: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 06/29] thermal/of: Remove unused functions Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 07/29] thermal/drivers/exynos: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 08/29] thermal/drivers/exynos: of_thermal_get_ntrips() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 09/29] thermal/drivers/exynos: Replace of_thermal_is_trip_valid() by thermal_zone_get_trip() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 10/29] thermal/drivers/tegra: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 11/29] thermal/drivers/uniphier: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 12/29] thermal/drivers/hisi: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 13/29] thermal/drivers/qcom: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 14/29] thermal/drivers/armada: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 15/29] thermal/drivers/rcar_gen3: Use the generic function to get the number of trips Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 16/29] thermal/of: Remove of_thermal_get_ntrips() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 17/29] thermal/of: Remove of_thermal_is_trip_valid() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 18/29] thermal/of: Remove of_thermal_set_trip_hyst() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 19/29] thermal/of: Remove of_thermal_get_crit_temp() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 20/29] thermal/drivers/st: Use generic trip points Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 21/29] thermal/drivers/imx: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 22/29] thermal/drivers/rcar: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 23/29] thermal/drivers/broadcom: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 24/29] thermal/drivers/da9062: " Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 25/29] thermal/drivers/ti: Remove unused macros ti_thermal_get_trip_value() / ti_thermal_trip_is_valid() Daniel Lezcano
2022-10-03 9:25 ` [PATCH v8 26/29] thermal/drivers/acerhdf: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 9:26 ` [PATCH v8 27/29] thermal/drivers/cxgb4: " Daniel Lezcano
2022-10-03 9:26 ` [PATCH v8 28/29] thermal/intel/int340x: Replace parameter to simplify Daniel Lezcano
2022-10-03 9:26 ` [PATCH v8 29/29] thermal/drivers/intel: Use generic thermal_zone_get_trip() function Daniel Lezcano
2022-10-03 14:10 ` [PATCH v8 00/29] Rework the trip points creation Marek Szyprowski
2022-10-03 15:36 ` Daniel Lezcano
2022-10-03 21:18 ` Daniel Lezcano
2022-10-05 12:37 ` Daniel Lezcano
2022-10-05 13:05 ` Marek Szyprowski [this message]
2022-10-06 6:55 ` Daniel Lezcano
2022-10-06 16:25 ` Marek Szyprowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=207c1979-0da2-b05d-fead-6880ad956b90@samsung.com \
--to=m.szyprowski@samsung.com \
--cc=agross@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bzolnier@gmail.com \
--cc=daniel.lezcano@linaro.org \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
--cc=support.opensource@diasemi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).