From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751609AbcGRNvA (ORCPT ); Mon, 18 Jul 2016 09:51:00 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:34959 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751251AbcGRNu5 (ORCPT ); Mon, 18 Jul 2016 09:50:57 -0400 X-AuditID: cbfec7f4-f796c6d000001486-4c-578cdebc1894 Subject: Re: [PATCH v2 00/10] Exynos IOMMU: proper runtime PM support (use device dependencies) To: Tobias Jakobi , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org References: <1466144820-6286-1-git-send-email-m.szyprowski@samsung.com> <5787B2B0.9020809@math.uni-bielefeld.de> <5788E352.3040801@math.uni-bielefeld.de> <578CB6DB.90608@math.uni-bielefeld.de> Cc: Joerg Roedel , Inki Dae , Kukjin Kim , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , "Rafael J. Wysocki" , Ulf Hansson , Mark Brown , Greg Kroah-Hartman From: Marek Szyprowski Message-id: <6939949e-4c8e-cba0-9858-b37d1ba01869@samsung.com> Date: Mon, 18 Jul 2016 15:50:51 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-version: 1.0 In-reply-to: <578CB6DB.90608@math.uni-bielefeld.de> Content-type: text/plain; charset=utf-8; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprJIsWRmVeSWpSXmKPExsVy+t/xq7p77vWEG9y7JmKxccZ6VoupD5+w WTQvXs9mMen+BBaLBfutLTpnb2C3eP3C0KL/8Wtmi02Pr7FaXN41h83ic+8RRosZ5/cxWZw5 fYnVom31B1aL42vDHfg9nhycx+SxaVUnm8eda3vYPPbPXcPusXlJvcfkG8sZPf4dY/fYcrWd xaNvyypGj8+b5AK4orhsUlJzMstSi/TtErgy2hpfsBT0alT8XLKbsYHxr2IXIyeHhICJxP4L v9khbDGJC/fWs3UxcnEICSxllJi4r4sJwnnOKNH++QArSJWwQKJE290/7CAJEYEbQImZH9lA EkICvxkl3lziAkkwC3xikrj2YQFYB5uAoUTX2y6wIl4BO4nV5y+wgNgsAqoSHc07wXaLCsRI NN4+zA5RIyjxY/I9oBoODk4BY4k/+3JBwswCZhJfXh5mhbDlJTavecs8gVFgFpKOWUjKZiEp W8DIvIpRNLU0uaA4KT3XUK84Mbe4NC9dLzk/dxMjJMK+7GBcfMzqEKMAB6MSD++Ntd3hQqyJ ZcWVuYcYJTiYlUR4BYHxKcSbklhZlVqUH19UmpNafIhRmoNFSZx37q73IUIC6YklqdmpqQWp RTBZJg5OqQbGOCNR/ZqTr42K9HwaRb3i051XMS+aZbZLLtqTPeHhmWWsalfvFMy88UCg9bqI jojePpE3j89rXF1g1LjQ6OMB6zz+1M16nMfDv1vP7/WJmBiaEitgMzl91tP/h2P+9dWUcqcy VKznmsx9Z5biQeOdnPOPb/IPeDg5v/xpmd8zhQaGv7e/pZUrsRRnJBpqMRcVJwIAspaV7KwC AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Dear Tobias On 2016-07-18 13:00, Tobias Jakobi wrote: > Marek Szyprowski wrote: >> On 2016-07-15 15:21, Tobias Jakobi wrote: >>> Tobias Jakobi wrote: >>>> Hello Marek, >>>> >>>> I've tested the patchset on 4.7-rc7 and noticed that it breaks reboot on >>>> my ODROID-X2. >>>> >>>> Going to check where exactly things break. >>> Sadly it's the last patch where everything comes together: >>> "iommu/exynos: Add proper runtime pm support" >>> >>> I still have to check if forcing runpm status to 'on' makes a >>> difference. I suspect that the aggressive clock gating might be the >>> reason? >> Thanks for testing. I will check this issue. Could you send me your >> .config? > This is the config I'm currently using: > https://github.com/tobiasjakobi/odroid-environment/blob/master/sourcecode/system/vanilla-4.7-debug.conf > > Do you think checking this with no_console_suspend makes sense? no_console_suspend switch won't provide more information, but I managed to reproduce your issue. I'm really confused how enabling runtime pm can cause problems with usb/smsc95xx ethernet driver (that is the reason for failed reboot). Maybe it is somehow related to the global relations between devices and drivers and the fact that creating the runtime pm links change the order of operations. I will check this again when Rafael send updated patches. Here is the log I got (after waiting some time): # reboot Broadcast message from root@target (ttySAC1) (Mon Jul 18 13:33:38 2016): The system is going down for reboot NOW! INIT: Switching to runlevel: 6 INIT: Sending processes the TERM signal [info] Using makefile-style concurrent boot in runlevel 6. [ ok ] Stopping cgroup management proxy daemon: cgproxy[....] Stopping internet superserver: inetd. [....] Stopping cgroup management daemon: cgmanagermax77686-rtc max77686-rtc: RTC alarm IRQ: 119 [ ok ] Shutting down ALSA...done. random: nonblocking pool is initialized [info] Saving the system clock. [info] Hardware Clock updated to Mon Jul 18 13:33:40 UTC 2016. [ ok ] Asking all remaining processes to terminate...done. [ ok ] All processes ended within 1 seconds...done. [ ok ] Stopping rpcbind daemon.... [ ok ] Deconfiguring network interfaces...done. [ ok ] Unmounting temporary filesystems...done. [ ok ] Deactivating swap...done. EXT4-fs (mmcblk1p2): re-mounted. Opts: (null) [info] Will now restart. smsc95xx 1-2:1.0 eth0: Failed to read reg index 0x00000114: -110 smsc95xx 1-2:1.0 eth0: Error reading MII_ACCESS smsc95xx 1-2:1.0 eth0: MII is busy in smsc95xx_mdio_read smsc95xx 1-2:1.0 eth0: Failed to read MII_BMSR INFO: task kworker/0:1:410 blocked for more than 120 seconds. Not tainted 4.7.0-rc7-debug+ #155 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. kworker/0:1 D c06850a8 0 410 2 0x00000000 Workqueue: events_freezable mmc_rescan Backtrace: [] (__schedule) from [] (schedule+0x44/0xb0) r10:00000000 r9:eebe1d88 r8:c0686234 r7:00000000 r6:00000002 r5:7fffffff r4:7fffffff [] (schedule) from [] (schedule_timeout+0x154/0x1b0) [] (schedule_timeout) from [] (wait_for_common+0xe0/0x174) r8:c0686234 r7:00000000 r6:00000002 r5:eebe1d8c r4:7fffffff [] (wait_for_common) from [] (wait_for_completion+0x18/0x1c) r10:00000001 r9:00000000 r8:00000000 r7:eebe1d88 r6:eebe1d78 r5:ee260000 r4:eebe1de4 [] (wait_for_completion) from [] (mmc_wait_for_req+0xc8/0x15c) [] (mmc_wait_for_req) from [] (mmc_wait_for_cmd+0x6c/0xa4) r8:eef73d00 r7:00000003 r6:ee260000 r5:c0a02448 r4:eebe1de4 r3:00000000 [] (mmc_wait_for_cmd) from [] (mmc_send_status+0x8c/0xb0) r7:eebe1eb0 r6:ee260000 r5:ee260000 r4:00000000 [] (mmc_send_status) from [] (mmc_alive+0x18/0x1c) r4:ee260000 [] (mmc_alive) from [] (_mmc_detect_card_removed+0x40/0x90) [] (_mmc_detect_card_removed) from [] (mmc_detect+0x2c/0x78) r5:ee2602bc r4:ee260000 [] (mmc_detect) from [] (mmc_rescan+0x1b0/0x324) r5:ee2602bc r4:ee260368 [] (mmc_rescan) from [] (process_one_work+0x194/0x414) r8:eef73d00 r7:eebe1eb0 r6:eef70280 r5:ee260368 r4:eea24080 r3:c04e94fc [] (process_one_work) from [] (worker_thread+0x34/0x4d4) r10:eef70280 r9:c0a02100 r8:00000008 r7:eef70280 r6:eea24098 r5:eef702b4 r4:eea24080 [] (worker_thread) from [] (kthread+0xf8/0x11c) r10:00000000 r9:00000000 r8:00000000 r7:c013aad8 r6:eea24080 r5:00000000 r4:eea29d00 [] (kthread) from [] (ret_from_fork+0x14/0x24) r7:00000000 r6:00000000 r5:c0141d20 r4:eea29d00 2 locks held by kworker/0:1/410: #0: ("events_freezable"){.+.+.+}, at: [] process_one_work+0x128/0x414 #1: ((&(&host->detect)->work)){+.+.+.}, at: [] process_one_work+0x128/0x414 Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland