Bug 1325488

Summary: Regression: USB 3 hub (or device connected to it) causes high CPU usage (kworker thread)
Product: [Fedora] Fedora Reporter: Dimitris <dimitris.on.linux>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 23CC: dimitris.on.linux, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-26 16:50:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dimitris 2016-04-09 06:54:21 UTC
Description of problem:

Occasionally, and it seems to be after a resume from suspent, I get one core pegged at around 70-80%, with high temperatures and fan noise as a result.

Unplugging a USB3 hub from the system and plugging back in resolves this.

This did not seem to happen before 4.4.6-301

Version-Release number of selected component (if applicable):

4.4.6-301.fc23.x86_64

How reproducible:

Occasional, several times a week, not on demand.

Steps to Reproduce:
1. CPU stays pegged to ~80%
2. Unplug USB hub
3. CPU use now normal.
4. Plug USB3 hub back in, CPU use still normal.

Actual results:

High CPU use

Expected results:

Normal CPU use

Additional info:

System is a Thinkpad X250 on an Ultra Dock.  USB3 hub is connected to the dock.

perf results:

+   68.30%     0.01%  kworker/0:0      [kernel.kallsyms]                [k] worker_thread                
+   68.30%     0.00%  kworker/0:0      [kernel.kallsyms]                [k] kthread                      
+   68.30%     0.00%  kworker/0:0      [kernel.kallsyms]                [k] ret_from_fork                
+   68.24%     0.07%  kworker/0:0      [kernel.kallsyms]                [k] process_one_work             
+   67.41%     0.05%  kworker/0:0      [kernel.kallsyms]                [k] rpm_idle                     
+   67.10%     0.10%  kworker/0:0      [kernel.kallsyms]                [k] rpm_suspend                  
+   67.07%     0.02%  kworker/0:0      [kernel.kallsyms]                [k] pm_runtime_work              
+   66.93%     0.02%  kworker/0:0      [kernel.kallsyms]                [k] __rpm_callback               
+   66.91%     0.00%  kworker/0:0      [kernel.kallsyms]                [k] usb_runtime_idle             
+   66.90%     0.02%  kworker/0:0      [kernel.kallsyms]                [k] __pm_runtime_suspend         
+   66.70%     0.01%  kworker/0:0      [kernel.kallsyms]                [k] rpm_callback                 
+   66.66%     0.01%  kworker/0:0      [kernel.kallsyms]                [k] usb_runtime_suspend          
+   66.64%     0.04%  kworker/0:0      [kernel.kallsyms]                [k] usb_suspend_both             
+   63.96%     0.17%  kworker/0:0      [kernel.kallsyms]                [k] usb_control_msg              
+   62.74%     0.15%  kworker/0:0      [kernel.kallsyms]                [k] usb_start_wait_urb           
+   59.39%     0.25%  kworker/0:0      [kernel.kallsyms]                [k] usb_submit_urb               
+   58.32%     0.95%  kworker/0:0      [kernel.kallsyms]                [k] usb_hcd_submit_urb           
+   51.16%    50.60%  kworker/0:0      [kernel.kallsyms]                [k] xhci_hub_control             
+   49.85%     0.08%  kworker/0:0      [kernel.kallsyms]                [k] hub_suspend                  
+   48.63%     0.02%  kworker/0:0      [kernel.kallsyms]                [k] set_port_feature             
+   17.22%     0.00%  swapper          [kernel.kallsyms]                [k] start_secondary              
+   17.21%     0.00%  swapper          [kernel.kallsyms]                [k] cpu_startup_entry            
+   17.17%     0.00%  swapper          [kernel.kallsyms]                [k] cpuidle_enter                
+   17.17%     0.00%  swapper          [kernel.kallsyms]                [k] call_cpuidle                 
+   17.14%     0.00%  swapper          [kernel.kallsyms]                [k] cpuidle_enter_state          
+   17.13%    17.13%  swapper          [kernel.kallsyms]                [k] intel_idle                   
+   16.43%     0.01%  kworker/0:0      [kernel.kallsyms]                [k] usb_resume_interface.isra.6  
+   16.42%     0.01%  kworker/0:0      [kernel.kallsyms]                [k] hub_resume                   
+   16.41%     0.18%  kworker/0:0      [kernel.kallsyms]                [k] hub_activate                 
+   15.57%     0.08%  kworker/0:0      [kernel.kallsyms]                [k] hub_port_status              
+    9.47%     0.00%  ksoftirqd/0      [kernel.kallsyms]                [k] kthread                      
+    9.47%     0.00%  ksoftirqd/0      [kernel.kallsyms]                [k] ret_from_fork                
+    9.29%     0.54%  ksoftirqd/0      [kernel.kallsyms]                [k] smpboot_thread_fn            
+    5.11%     0.34%  kworker/0:0      [kernel.kallsyms]                [k] usb_hcd_giveback_urb         
+    4.53%     0.11%  ksoftirqd/0      [kernel.kallsyms]                [k] run_ksoftirqd                
+    4.35%     0.48%  ksoftirqd/0      [kernel.kallsyms]                [k] __do_softirq                 
+    4.33%     0.46%  kworker/0:0      [kernel.kallsyms]                [k] __tasklet_schedule           
+    4.19%     0.03%  kworker/0:0      [kernel.kallsyms]                [k] wake_up_process              
+    4.19%     0.13%  ksoftirqd/0      [kernel.kallsyms]                [k] schedule                     
+    3.99%     0.93%  ksoftirqd/0      [kernel.kallsyms]                [k] __schedule                   
+    3.90%     0.30%  kworker/0:0      [kernel.kallsyms]                [k] try_to_wake_up               
+    3.24%     0.11%  kworker/0:0      [kernel.kallsyms]                [k] _cond_resched                
+    3.21%     0.54%  ksoftirqd/0      [kernel.kallsyms]                [k] tasklet_action               
+    3.13%     0.09%  kworker/0:0      [kernel.kallsyms]                [k] preempt_schedule_common      
+    3.06%     0.04%  kworker/0:0      [kernel.kallsyms]                [k] ttwu_do_activate.constprop.81
+    2.99%     1.02%  kworker/0:0      [kernel.kallsyms]                [k] __schedule                   
+    2.96%     0.13%  kworker/0:0      [kernel.kallsyms]                [k] wait_for_completion_timeout  
+    2.53%     0.20%  ksoftirqd/0      [kernel.kallsyms]                [k] usb_giveback_urb_bh

Comment 1 Laura Abbott 2016-09-23 19:38:38 UTC
*********** MASS BUG UPDATE **************
 
We apologize for the inconvenience.  There is a large number of bugs to go through and several of them have gone stale.  Due to this, we are doing a mass bug update across all of the Fedora 23 kernel bugs.
 
Fedora 23 has now been rebased to 4.7.4-100.fc23.  Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel.
 
If you have moved on to Fedora 24 or 25, and are still experiencing this issue, please change the version to Fedora 24 or 25.
 
If you experience different issues, please open a new bug report for those.

Comment 2 Laura Abbott 2016-10-26 16:50:49 UTC
*********** MASS BUG UPDATE **************
This bug is being closed with INSUFFICIENT_DATA as there has not been a response in 4 weeks. If you are still experiencing this issue, please reopen and attach the relevant data from the latest kernel you are running and any data that might have been requested previously.

Comment 3 Dimitris 2016-12-26 17:14:14 UTC
Haven't seen this for a while, updaging needinfo to silence the periodic message from bugzilla.