Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752191AbeAQGZ4 (ORCPT + 1 other); Wed, 17 Jan 2018 01:25:56 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:52141 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752116AbeAQGZw (ORCPT ); Wed, 17 Jan 2018 01:25:52 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20180117062549euoutp01f4bd38554c1fd885a2be85b1f2cdffe8~KhOZiNNPT3202632026euoutp014 X-AuditID: cbfec7f1-f793a6d00000326b-52-5a5eec6b083e Subject: Re: Power domain clock warnings on recent next To: Krzysztof Kozlowski , Sylwester Nawrocki , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Tomasz Figa From: Marek Szyprowski Message-id: Date: Wed, 17 Jan 2018 07:25:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-version: 1.0 In-reply-to: <20180116200728.tjad7tzz3uvsmgg3@kozik-lap> Content-type: text/plain; charset="utf-8"; format="flowed" Content-transfer-encoding: 7bit Content-language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAKsWRmVeSWpSXmKPExsWy7djPc7o5b+KiDF7OZ7Q4f34Du8Wmx9dY LT723GO1uLxrDpvFjPP7mCwOv2lntVi16w+jA7vHzll32T02repk89i8pN6jb8sqRo/Pm+QC WKO4bFJSczLLUov07RK4Mq7tPMBesMypYnX7EcYGxjmmXYycHBICJhKL59xihrDFJC7cW88G YgsJLGWU2PdduYuRC8j+zCjxd1YXC0zD13svGCESy4CKFtxkgXCeM0qca2kAqxIWMJfYt/Et I4gtItDMJLGlNwjEZhMwlOh62wW2glfATmLbsnYwm0VAVWLOrxZ2EFtUIEbi/8aZ7BA1ghI/ Jt8Dm8kpYCGxt7sZbCazgJXEs3+trBC2vMTmNW+ZIWxxieZWiIMkBI6wSSy4sZwV4mwXialr LkP9KSzx6vgWdghbRqKz4yAThN3PKNHUqg1hzwD65i0vhG0tcfj4RahlfBKTtk0HmsMBFOeV 6GgTgijxkPjweA0jhO0o8WPjKnZIoHQzSrTcOs84gVFuFpJ/ZiH5YRaSH2Yh+WEBI8sqRpHU 0uLc9NRiI73ixNzi0rx0veT83E2MwHRy+t/xjzsY35+wOsQowMGoxMPL8Cc2Sog1say4MvcQ owQHs5II7+67cVFCvCmJlVWpRfnxRaU5qcWHGKU5WJTEeW2j2iKFBNITS1KzU1MLUotgskwc nFINjBPc+U0nyyrqnZgedW1FnJpTzMfp7QYxxgn/X9zb1XzL701MyNXozoKagy7VUhxyazKO ZsUzPrdom2bzI+p0PEtPyNeVlu9DK9YVnA68uMTSYsPaglev8nn3PBW6zqUx93rDOYO0b7wt f359VbP237iSpXNn2+3pX0oXzpnRtFIo+In9mzfTypRYijMSDbWYi4oTAdDydKUjAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBLMWRmVeSWpSXmKPExsVy+t/xy7rZb+KiDC7NlrQ4f34Du8Wmx9dY LT723GO1uLxrDpvFjPP7mCwOv2lntVi16w+jA7vHzll32T02repk89i8pN6jb8sqRo/Pm+QC WKO4bFJSczLLUov07RK4Mq7tPMBesMypYnX7EcYGxjmmXYycHBICJhJf771ghLDFJC7cW8/W xcjFISSwhFFi4fpmVgjnOaPExa617CBVwgLmEvs2vmUESYgItDJJTDkxmx2iqpdRYvq3PWBV bAKGEl1vu9hAbF4BO4lty9rBbBYBVYk5v1rAakQFYiQWNB9ihqgRlPgx+R4LiM0pYCGxt7sZ 7CZmATOJLy8Ps0LY8hKb17xlhrDFJZpbb7JMYBSYhaR9FpKWWUhaZiFpWcDIsopRJLW0ODc9 t9hQrzgxt7g0L10vOT93EyMw/Lcd+7l5B+OljcGHGAU4GJV4eBn+xEYJsSaWFVfmHmKU4GBW EuHdfTcuSog3JbGyKrUoP76oNCe1+BCjNAeLkjhv757VkUIC6YklqdmpqQWpRTBZJg5OqQbG 2ptnrNLVTllEzt4klFC6tuH06c1u5ef6NNrL33w7xf+d76CgaMTbshkHi6/56OdP4p/I8euJ /sXo8iXR6R83bjW7++WqzoV8pZWPTe/GcCy6d2Zv8fTnac3aH0+qHOz4clT9pXN70h4Xoc8m NyZ9X6394+DODCaDmzmuITYi+SYatTmJzG+nK7EUZyQaajEXFScCAJ7v+057AgAA X-CMS-MailID: 20180117062547eucas1p28b1a0f7377b2268484474d9bbb17d7f2 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180116200735epcas4p4455aea99ad21c4c45260d4752d789add X-RootMTR: 20180116200735epcas4p4455aea99ad21c4c45260d4752d789add References: <20180116200728.tjad7tzz3uvsmgg3@kozik-lap> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hi Krzysztof, On 2018-01-16 21:07, Krzysztof Kozlowski wrote: > Hi everyone, > > Anyone already noticed or started bisecting warnings coming from > clk_core_disable_lock/exynos_pd_power on recent linux-next? Yes, I've noticed it early this week and prepared a patch: https://www.spinics.net/lists/arm-kernel/msg628881.html > On next-20180116, Odroid XU3 and HC1 (Exynso5422): > > [ 0.882736] EXYNOS5420 PMU initialized > [ 0.891979] ------------[ cut here ]------------ > [ 0.892220] WARNING: CPU: 0 PID: 59 at ../drivers/clk/clk.c:811 clk_core_disable_lock+0x18/0x24 > [ 0.892383] Modules linked in: > [ 0.892476] CPU: 0 PID: 59 Comm: kworker/0:1 Not tainted 4.15.0-rc8-next-20180116 #1121 > [ 0.892629] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 0.892763] Workqueue: pm genpd_power_off_work_fn > [ 0.892891] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 0.893051] [] (show_stack) from [] (dump_stack+0x98/0xc4) > [ 0.893209] [] (dump_stack) from [] (__warn+0xf8/0x110) > [ 0.893353] [] (__warn) from [] (warn_slowpath_null+0x40/0x48) > [ 0.893511] [] (warn_slowpath_null) from [] (clk_core_disable_lock+0x18/0x24) > [ 0.893689] [] (clk_core_disable_lock) from [] (clk_core_disable_unprepare+0xc/0x20) > [ 0.893874] [] (clk_core_disable_unprepare) from [] (__clk_set_parent_after+0x48/0x4c) > [ 0.894063] [] (__clk_set_parent_after) from [] (clk_core_set_parent_nolock+0x27c/0x5e8) > [ 0.894253] [] (clk_core_set_parent_nolock) from [] (clk_set_parent+0x38/0x6c) > [ 0.894438] [] (clk_set_parent) from [] (exynos_pd_power+0x88/0x1e4) > [ 0.894603] [] (exynos_pd_power) from [] (genpd_power_off+0x160/0x274) > [ 0.894771] [] (genpd_power_off) from [] (genpd_power_off_work_fn+0x2c/0x40) > [ 0.894953] [] (genpd_power_off_work_fn) from [] (process_one_work+0x2d4/0x8f0) > [ 0.895132] [] (process_one_work) from [] (worker_thread+0x38/0x584) > [ 0.895297] [] (worker_thread) from [] (kthread+0x138/0x168) > [ 0.895450] [] (kthread) from [] (ret_from_fork+0x14/0x20) > > > Later there is also a lockdep warning but it looks like second issue: Right, this deplock issue is already known for over 2 months. It is a false positive: https://www.spinics.net/lists/linux-samsung-soc/msg61425.html > > [ 5.932966] ====================================================== > [ 5.937199] usb 5-1: new high-speed USB device number 2 using xhci-hcd > [ 5.939073] WARNING: possible circular locking dependency detected > [ 5.939110] 4.15.0-rc8-next-20180116 #1121 Tainted: G W > [ 5.958143] ------------------------------------------------------ > [ 5.964299] kworker/0:1/59 is trying to acquire lock: > [ 5.969304] (&genpd->mlock){+.+.}, at: [<6abc3872>] genpd_runtime_resume+0x104/0x260 > [ 5.977155] > [ 5.977155] but task is already holding lock: > [ 5.982926] (prepare_lock){+.+.}, at: [<74cef905>] clk_prepare_lock+0x10/0xf8 > [ 5.990143] > [ 5.990143] which lock already depends on the new lock. > [ 5.990143] > [ 5.998309] > [ 5.998309] the existing dependency chain (in reverse order) is: > [ 6.005739] > [ 6.005739] -> #1 (prepare_lock){+.+.}: > [ 6.011042] mutex_lock_nested+0x1c/0x24 > [ 6.015419] clk_prepare_lock+0x50/0xf8 > [ 6.019755] clk_unprepare+0x1c/0x2c > [ 6.023841] exynos_pd_power+0x1a8/0x1e4 > [ 6.028246] genpd_power_off+0x160/0x274 > [ 6.032664] genpd_power_off_work_fn+0x2c/0x40 > [ 6.037630] process_one_work+0x2d4/0x8f0 > [ 6.042104] worker_thread+0x38/0x584 > [ 6.046268] kthread+0x138/0x168 > [ 6.049981] ret_from_fork+0x14/0x20 > [ 6.054044] (null) > [ 6.056794] > [ 6.056794] -> #0 (&genpd->mlock){+.+.}: > [ 6.062238] __mutex_lock+0x7c/0xa68 > [ 6.066278] mutex_lock_nested+0x1c/0x24 > [ 6.070703] genpd_runtime_resume+0x104/0x260 > [ 6.075557] __rpm_callback+0xc0/0x21c > [ 6.079792] rpm_callback+0x20/0x80 > [ 6.083774] rpm_resume+0x558/0x7dc > [ 6.087762] __pm_runtime_resume+0x60/0x98 > [ 6.092367] clk_core_prepare+0x44/0x490 > [ 6.096783] clk_prepare+0x20/0x30 > [ 6.100674] amba_get_enable_pclk+0x2c/0x60 > [ 6.105363] amba_device_try_add+0x8c/0x20c > [ 6.110041] amba_deferred_retry_func+0x40/0xbc > [ 6.115080] process_one_work+0x2d4/0x8f0 > [ 6.119569] worker_thread+0x38/0x584 > [ 6.123727] kthread+0x138/0x168 > [ 6.127444] ret_from_fork+0x14/0x20 > [ 6.131510] (null) > [ 6.134263] > [ 6.134263] other info that might help us debug this: > [ 6.134263] > [ 6.142328] Possible unsafe locking scenario: > [ 6.142328] > [ 6.148178] CPU0 CPU1 > [ 6.152656] ---- ---- > [ 6.157160] lock(prepare_lock); > [ 6.160439] lock(&genpd->mlock); > [ 6.166365] lock(prepare_lock); > [ 6.172168] lock(&genpd->mlock); > [ 6.175517] > [ 6.175517] *** DEADLOCK *** > [ 6.175517] > [ 6.181475] 4 locks held by kworker/0:1/59: > [ 6.185580] #0: ((wq_completion)"events"){+.+.}, at: [] process_one_work+0x210/0x8f0 > [ 6.194407] #1: ((deferred_retry_work).work){+.+.}, at: [] process_one_work+0x210/0x8f0 > [ 6.203422] #2: (deferred_devices_lock){+.+.}, at: [<3e940c1f>] amba_deferred_retry_func+0x1c/0xbc > [ 6.212522] #3: (prepare_lock){+.+.}, at: [<74cef905>] clk_prepare_lock+0x10/0xf8 > [ 6.220128] > [ 6.220128] stack backtrace: > [ 6.224438] CPU: 0 PID: 59 Comm: kworker/0:1 Tainted: G W 4.15.0-rc8-next-20180116 #1121 > [ 6.233757] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [ 6.239791] Workqueue: events amba_deferred_retry_func > [ 6.244929] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 6.252670] [] (show_stack) from [] (dump_stack+0x98/0xc4) > [ 6.259877] [] (dump_stack) from [] (print_circular_bug.constprop.17+0x210/0x32c) > [ 6.269077] [] (print_circular_bug.constprop.17) from [] (__lock_acquire+0x155c/0x1ac8) > [ 6.278786] [] (__lock_acquire) from [] (lock_acquire+0xe0/0x2bc) > [ 6.286558] [] (lock_acquire) from [] (__mutex_lock+0x7c/0xa68) > [ 6.294181] [] (__mutex_lock) from [] (mutex_lock_nested+0x1c/0x24) > [ 6.302161] [] (mutex_lock_nested) from [] (genpd_runtime_resume+0x104/0x260) > [ 6.311008] [] (genpd_runtime_resume) from [] (__rpm_callback+0xc0/0x21c) > [ 6.319484] [] (__rpm_callback) from [] (rpm_callback+0x20/0x80) > [ 6.327185] [] (rpm_callback) from [] (rpm_resume+0x558/0x7dc) > [ 6.334721] [] (rpm_resume) from [] (__pm_runtime_resume+0x60/0x98) > [ 6.342706] [] (__pm_runtime_resume) from [] (clk_core_prepare+0x44/0x490) > [ 6.351297] [] (clk_core_prepare) from [] (clk_prepare+0x20/0x30) > [ 6.359081] [] (clk_prepare) from [] (amba_get_enable_pclk+0x2c/0x60) > [ 6.367229] [] (amba_get_enable_pclk) from [] (amba_device_try_add+0x8c/0x20c) > [ 6.376164] [] (amba_device_try_add) from [] (amba_deferred_retry_func+0x40/0xbc) > [ 6.385361] [] (amba_deferred_retry_func) from [] (process_one_work+0x2d4/0x8f0) > [ 6.394457] [] (process_one_work) from [] (worker_thread+0x38/0x584) > [ 6.402497] [] (worker_thread) from [] (kthread+0x138/0x168) > [ 6.409852] [] (kthread) from [] (ret_from_fork+0x14/0x20) > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland