From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oliver Neukum Subject: Re: Hangs in r8152 connected to power management in kernels at least up v4.17-rc4 Date: Wed, 16 May 2018 10:26:43 +0200 Message-ID: <1526459203.25281.2.camel@suse.com> References: <1526388188.2724.5.camel@suse.com> <0835B3720019904CB8F7AA43166CEEB2D2E47ABE@RTITMBSV06.realtek.com.tw> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: "netdev@vger.kernel.org" To: Hayes Wang Return-path: Received: from mx2.suse.de ([195.135.220.15]:41610 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752779AbeEPI0s (ORCPT ); Wed, 16 May 2018 04:26:48 -0400 In-Reply-To: <0835B3720019904CB8F7AA43166CEEB2D2E47ABE@RTITMBSV06.realtek.com.tw> Sender: netdev-owner@vger.kernel.org List-ID: Am Mittwoch, den 16.05.2018, 03:37 +0000 schrieb Hayes Wang: > Oliver Neukum [mailto:oneukum@suse.com] > > > > Hi, > > > > I got reports about hangs with this trace: > > > > May 13 01:36:55 neroon kernel: INFO: task kworker/0:0:4 blocked for more > > than 60 seconds. > > May 13 01:36:55 neroon kernel: Tainted: G U > > 4.17.0-rc4-1.g8257a00-vanilla #1 > > May 13 01:36:55 neroon kernel: "echo 0 > > > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > > May 13 01:36:55 neroon kernel: kworker/0:0 D 0 4 2 > > 0x80000000 > > May 13 01:36:55 neroon kernel: Workqueue: events rtl_work_func_t [r8152] > > May 13 01:36:55 neroon kernel: Call Trace: > > May 13 01:36:55 neroon kernel: ? __schedule+0x289/0x880 > > May 13 01:36:55 neroon kernel: schedule+0x2f/0x90 > > May 13 01:36:55 neroon kernel: rpm_resume+0xf9/0x7a0 > > May 13 01:36:55 neroon kernel: ? wait_woken+0x80/0x80 > > May 13 01:36:55 neroon kernel: rpm_resume+0x547/0x7a0 > > May 13 01:36:55 neroon kernel: ? __switch_to_asm+0x40/0x70 > > May 13 01:36:55 neroon kernel: ? __switch_to_asm+0x34/0x70 > > May 13 01:36:55 neroon kernel: ? __switch_to_asm+0x40/0x70 > > May 13 01:36:55 neroon kernel: ? __switch_to_asm+0x34/0x70 > > May 13 01:36:55 neroon kernel: ? __switch_to_asm+0x40/0x70 > > May 13 01:36:55 neroon kernel: __pm_runtime_resume+0x3a/0x50 > > May 13 01:36:55 neroon kernel: usb_autopm_get_interface+0x1d/0x50 [usbcore] > > Would usb_autopm_get_interface() take a long time? > The driver would wake the device if it has suspended. > I have no idea about how usb_autopm_get_interface() works, so I don't know how to help. Hi, it basically calls r8152_resume() and makes a control request to the hub. I think we are spinning in rtl8152_runtime_resume(), but where? It has a lot of NAPI stuff. Any suggestions on how to instrument or trace this? Regards Oliver