`ohci_rh_resume()` called during `usb_dev_suspend()`

From: Paul Menzel
Date: Mon Jul 23 2018 - 19:19:34 EST


Dear Linux folks,


Profiling the suspend to and resume/wake-up from ACPI S3 with `sleepgraph.py` on an ASRock E350M1, I noticed that resume methods are called during suspend.

Here is an excerpt from the callgraph.

600.376906 | 0) kworker-81 | | /* device_pm_callback_start: usb usb5, parent: 0000:00:14.5, type [suspend] */
600.376909 | 0) kworker-81 | | usb_dev_suspend() {
600.376911 | 0) kworker-81 | | usb_suspend() {
600.376913 | 0) kworker-81 | | __pm_runtime_resume() {
600.376915 | 0) kworker-81 | | _cond_resched() {
600.376917 | 0) kworker-81 | 0.565 us | rcu_all_qs();
600.376921 | 0) kworker-81 | 4.034 us | } /* _cond_resched */
600.376922 | 0) kworker-81 | 0.505 us | _raw_spin_lock_irqsave();
600.376926 | 0) kworker-81 | | rpm_resume() {
600.376928 | 0) kworker-81 | 0.573 us | _raw_spin_lock();
600.376934 | 0) kworker-81 | 0.706 us | rpm_resume();
600.376937 | 0) kworker-81 | 0.556 us | _raw_spin_lock();
600.376942 | 0) kworker-81 | 0.721 us | __rpm_get_callback();
600.376946 | 0) kworker-81 | 0.564 us | dev_pm_disable_wake_irq_check();
600.376949 | 0) kworker-81 | | rpm_callback() {
600.376952 | 0) kworker-81 | | __rpm_callback() {
600.376954 | 0) kworker-81 | | usb_runtime_resume() {
600.376956 | 0) kworker-81 | | usb_resume_both() {
600.376959 | 0) kworker-81 | | generic_resume() {
600.376960 | 0) kworker-81 | | hcd_bus_resume() {
600.376963 | 0) kworker-81 | | ohci_bus_resume [ohci_hcd]() {
600.376964 | 0) kworker-81 | 0.588 us | _raw_spin_lock_irq();
600.376968 | 0) kworker-81 | | ohci_rh_resume [ohci_hcd]() {
600.377043 | 0) kworker-81 | | msleep() {

Please find the full callgraph and the HTML output attached.

Is that expected?


Kind regards,

Paul


[1]: https://01.org/suspendresume

Attachment: kodi_mem.html.7z
Description: application/7z-compressed

600.376906 | 0) kworker-81 | | /* device_pm_callback_start: usb usb5, parent: 0000:00:14.5, type [suspend] */
600.376909 | 0) kworker-81 | | usb_dev_suspend() {
600.376911 | 0) kworker-81 | | usb_suspend() {
600.376913 | 0) kworker-81 | | __pm_runtime_resume() {
600.376915 | 0) kworker-81 | | _cond_resched() {
600.376917 | 0) kworker-81 | 0.565 us | rcu_all_qs();
600.376921 | 0) kworker-81 | 4.034 us | } /* _cond_resched */
600.376922 | 0) kworker-81 | 0.505 us | _raw_spin_lock_irqsave();
600.376926 | 0) kworker-81 | | rpm_resume() {
600.376928 | 0) kworker-81 | 0.573 us | _raw_spin_lock();
600.376934 | 0) kworker-81 | 0.706 us | rpm_resume();
600.376937 | 0) kworker-81 | 0.556 us | _raw_spin_lock();
600.376942 | 0) kworker-81 | 0.721 us | __rpm_get_callback();
600.376946 | 0) kworker-81 | 0.564 us | dev_pm_disable_wake_irq_check();
600.376949 | 0) kworker-81 | | rpm_callback() {
600.376952 | 0) kworker-81 | | __rpm_callback() {
600.376954 | 0) kworker-81 | | usb_runtime_resume() {
600.376956 | 0) kworker-81 | | usb_resume_both() {
600.376959 | 0) kworker-81 | | generic_resume() {
600.376960 | 0) kworker-81 | | hcd_bus_resume() {
600.376963 | 0) kworker-81 | | ohci_bus_resume [ohci_hcd]() {
600.376964 | 0) kworker-81 | 0.588 us | _raw_spin_lock_irq();
600.376968 | 0) kworker-81 | | ohci_rh_resume [ohci_hcd]() {
600.377043 | 0) kworker-81 | | msleep() {
600.377044 | 0) kworker-81 | 0.591 us | __msecs_to_jiffies();
600.377048 | 0) kworker-81 | | schedule_timeout() {
0) kworker-81 => kworker-434
1) sleepgr-779 => kworker-81
600.380611 | 1) kworker-81 | 3561.688 us | } /* schedule_timeout */
600.380613 | 1) kworker-81 | 3569.619 us | } /* msleep */
600.380625 | 1) kworker-81 | | msleep() {
600.380626 | 1) kworker-81 | 0.250 us | __msecs_to_jiffies();
600.380628 | 1) kworker-81 | | schedule_timeout() {
1) kworker-81 => kworker-434
0) kworker-787 => kworker-81
600.386557 | 0) kworker-81 | 5927.651 us | } /* schedule_timeout */
600.386560 | 0) kworker-81 | 5934.355 us | } /* msleep */
600.386565 | 0) kworker-81 | | msleep() {
600.386567 | 0) kworker-81 | 0.490 us | __msecs_to_jiffies();
600.386570 | 0) kworker-81 | | schedule_timeout() {
0) kworker-81 => kworker-434
0) kworker-434 => kworker-81
600.394208 | 0) kworker-81 | 7636.340 us | } /* schedule_timeout */
600.394211 | 0) kworker-81 | 7644.604 us | } /* msleep */
600.394212 | 0) kworker-81 | 0.687 us | _raw_spin_lock_irq();
600.394217 | 0) kworker-81 | 17247.00 us | } /* ohci_rh_resume [ohci_hcd] */
600.394218 | 0) kworker-81 | | usb_hcd_poll_rh_status() {
600.394220 | 0) kworker-81 | | ohci_hub_status_data [ohci_hcd]() {
600.394221 | 0) kworker-81 | 0.543 us | _raw_spin_lock_irqsave();
600.394301 | 0) kworker-81 | 65.859 us | _raw_spin_unlock_irqrestore();
600.394371 | 0) kworker-81 | 150.044 us | } /* ohci_hub_status_data [ohci_hcd] */
600.394373 | 0) kworker-81 | 153.600 us | } /* usb_hcd_poll_rh_status */
600.394375 | 0) kworker-81 | 17410.75 us | } /* ohci_bus_resume [ohci_hcd] */
600.394376 | 0) kworker-81 | 0.597 us | _raw_spin_lock_irq();
600.394380 | 0) kworker-81 | | usb_set_device_state() {
600.394382 | 0) kworker-81 | 0.499 us | _raw_spin_lock_irqsave();
600.394386 | 0) kworker-81 | 0.532 us | _raw_spin_unlock_irqrestore();
600.394389 | 0) kworker-81 | 7.880 us | } /* usb_set_device_state */
600.394391 | 0) kworker-81 | 1.164 us | usb_hub_find_child();
600.394395 | 0) kworker-81 | 0.621 us | usb_hub_find_child();
600.394399 | 0) kworker-81 | 0.514 us | usb_hub_find_child();
600.394403 | 0) kworker-81 | 17440.77 us | } /* hcd_bus_resume */
600.394404 | 0) kworker-81 | 17444.37 us | } /* generic_resume */
600.394406 | 0) kworker-81 | | usb_resume_interface.isra.4() {
600.394408 | 0) kworker-81 | | hub_resume() {
600.394410 | 0) kworker-81 | | hub_activate() {
600.394412 | 0) kworker-81 | | hub_ext_port_status() {
600.394413 | 0) kworker-81 | | mutex_lock() {
600.394415 | 0) kworker-81 | 0.695 us | _cond_resched();
600.394419 | 0) kworker-81 | 4.112 us | } /* mutex_lock */
600.394421 | 0) kworker-81 | | usb_control_msg() {
600.394422 | 0) kworker-81 | 22.651 us | kmem_cache_alloc_trace();
600.394449 | 0) kworker-81 | 24.147 us | usb_alloc_urb();
600.394477 | 0) kworker-81 | 486.801 us | usb_start_wait_urb();
600.394968 | 0) kworker-81 | 3.343 us | kfree();
600.394975 | 0) kworker-81 | 553.075 us | } /* usb_control_msg */
600.394977 | 0) kworker-81 | 0.558 us | mutex_unlock();
600.394981 | 0) kworker-81 | 567.881 us | } /* hub_ext_port_status */
600.394984 | 0) kworker-81 | | hub_ext_port_status() {
600.394985 | 0) kworker-81 | | mutex_lock() {
600.394987 | 0) kworker-81 | 0.722 us | _cond_resched();
600.394991 | 0) kworker-81 | 4.213 us | } /* mutex_lock */
600.394993 | 0) kworker-81 | | usb_control_msg() {
600.394994 | 0) kworker-81 | 21.092 us | kmem_cache_alloc_trace();
600.395019 | 0) kworker-81 | 20.009 us | usb_alloc_urb();
600.395042 | 0) kworker-81 | | usb_start_wait_urb() {
0) kworker-81 => kworker-434
0) kworker-787 => kworker-81
600.396526 | 0) kworker-81 | 1481.933 us | } /* usb_start_wait_urb */
600.396528 | 0) kworker-81 | 3.372 us | kfree();
600.396534 | 0) kworker-81 | 1540.251 us | } /* usb_control_msg */
600.396536 | 0) kworker-81 | 0.520 us | mutex_unlock();
600.396540 | 0) kworker-81 | 1555.112 us | } /* hub_ext_port_status */
600.396542 | 0) kworker-81 | | usb_submit_urb() {
600.396545 | 0) kworker-81 | 0.526 us | usb_urb_ep_type_check();
600.396549 | 0) kworker-81 | | usb_hcd_submit_urb() {
600.396550 | 0) kworker-81 | 0.510 us | usb_get_urb();
600.396554 | 0) kworker-81 | 0.585 us | _raw_spin_lock_irqsave();
600.396558 | 0) kworker-81 | 0.891 us | usb_hcd_link_urb_to_ep();
600.396562 | 0) kworker-81 | 0.511 us | _raw_spin_unlock_irqrestore();
600.396566 | 0) kworker-81 | 15.791 us | } /* usb_hcd_submit_urb */
600.396568 | 0) kworker-81 | 23.948 us | } /* usb_submit_urb */
600.396571 | 0) kworker-81 | | kick_hub_wq.part.9() {
600.396573 | 0) kworker-81 | 0.701 us | usb_autopm_get_interface_no_resume();
600.396577 | 0) kworker-81 | | queue_work_on() {
600.396579 | 0) kworker-81 | 10.675 us | __queue_work();
600.396593 | 0) kworker-81 | 14.645 us | } /* queue_work_on */
600.396595 | 0) kworker-81 | 22.325 us | } /* kick_hub_wq.part.9 */
600.396597 | 0) kworker-81 | 2185.388 us | } /* hub_activate */
600.396599 | 0) kworker-81 | 2189.006 us | } /* hub_resume */
600.396600 | 0) kworker-81 | 2192.768 us | } /* usb_resume_interface.isra.4 */
600.396602 | 0) kworker-81 | 19644.93 us | } /* usb_resume_both */
600.396604 | 0) kworker-81 | 19648.63 us | } /* usb_runtime_resume */
600.396606 | 0) kworker-81 | 0.558 us | _raw_spin_lock_irq();
600.396610 | 0) kworker-81 | 19657.32 us | } /* __rpm_callback */
600.396612 | 0) kworker-81 | 19661.36 us | } /* rpm_callback */
600.396615 | 0) kworker-81 | | __wake_up() {
600.396616 | 0) kworker-81 | | __wake_up_common_lock() {
600.396618 | 0) kworker-81 | 0.514 us | _raw_spin_lock_irqsave();
600.396621 | 0) kworker-81 | 0.709 us | __wake_up_common();
600.396625 | 0) kworker-81 | 0.547 us | _raw_spin_unlock_irqrestore();
600.396629 | 0) kworker-81 | 11.214 us | } /* __wake_up_common_lock */
600.396631 | 0) kworker-81 | 14.627 us | } /* __wake_up */
600.396633 | 0) kworker-81 | | rpm_idle() {
600.396634 | 0) kworker-81 | 0.801 us | rpm_check_suspend_allowed();
600.396639 | 0) kworker-81 | 4.396 us | } /* rpm_idle */
600.396640 | 0) kworker-81 | 0.661 us | __pm_runtime_idle();
600.396644 | 0) kworker-81 | 0.522 us | _raw_spin_lock_irq();
600.396648 | 0) kworker-81 | 19720.92 us | } /* rpm_resume */
600.396650 | 0) kworker-81 | 0.579 us | _raw_spin_unlock_irqrestore();
600.396654 | 0) kworker-81 | 19739.29 us | } /* __pm_runtime_resume */
600.396656 | 0) kworker-81 | | usb_suspend_both() {
600.396658 | 0) kworker-81 | | hub_suspend() {
600.396661 | 0) kworker-81 | | hub_quiesce() {
600.396662 | 0) kworker-81 | | usb_kill_urb() {
600.396664 | 0) kworker-81 | | _cond_resched() {
600.396666 | 0) kworker-81 | 0.540 us | rcu_all_qs();
600.396670 | 0) kworker-81 | 4.762 us | } /* _cond_resched */
600.396672 | 0) kworker-81 | | usb_hcd_unlink_urb() {
600.396674 | 0) kworker-81 | 0.567 us | _raw_spin_lock_irqsave();
600.396678 | 0) kworker-81 | | usb_get_dev() {
600.396680 | 0) kworker-81 | 0.585 us | get_device();
600.396684 | 0) kworker-81 | 4.349 us | } /* usb_get_dev */
600.396685 | 0) kworker-81 | 0.617 us | _raw_spin_unlock_irqrestore();
600.396689 | 0) kworker-81 | | unlink1() {
600.396691 | 0) kworker-81 | 0.573 us | _raw_spin_lock_irqsave();
600.396695 | 0) kworker-81 | | usb_hcd_unlink_urb_from_ep() {
600.396697 | 0) kworker-81 | 0.490 us | _raw_spin_lock();
600.396701 | 0) kworker-81 | 4.046 us | } /* usb_hcd_unlink_urb_from_ep */
600.396702 | 0) kworker-81 | | usb_hcd_giveback_urb() {
600.396704 | 0) kworker-81 | 0.478 us | _raw_spin_lock();
600.396708 | 0) kworker-81 | | __tasklet_hi_schedule() {
600.396709 | 0) kworker-81 | | __tasklet_schedule_common() {
600.396711 | 0) kworker-81 | 0.489 us | __raise_softirq_irqoff();
600.396715 | 0) kworker-81 | | wakeup_softirqd() {
600.396717 | 0) kworker-81 | | wake_up_process() {
600.396718 | 0) kworker-81 | 6.689 us | try_to_wake_up();
600.396728 | 0) kworker-81 | 10.227 us | } /* wake_up_process */
600.396730 | 0) kworker-81 | 13.870 us | } /* wakeup_softirqd */
600.396732 | 0) kworker-81 | 21.150 us | } /* __tasklet_schedule_common */
600.396734 | 0) kworker-81 | 24.620 us | } /* __tasklet_hi_schedule */
600.396735 | 0) kworker-81 | 31.807 us | } /* usb_hcd_giveback_urb */
600.396737 | 0) kworker-81 | 0.558 us | _raw_spin_unlock_irqrestore();
600.396741 | 0) kworker-81 | 50.480 us | } /* unlink1 */
600.396743 | 0) kworker-81 | | usb_put_dev() {
600.396744 | 0) kworker-81 | 0.620 us | put_device();
600.396748 | 0) kworker-81 | 4.316 us | } /* usb_put_dev */
600.396750 | 0) kworker-81 | 76.464 us | } /* usb_hcd_unlink_urb */
600.396752 | 0) kworker-81 | | _cond_resched() {
600.396754 | 0) kworker-81 | 0.493 us | rcu_all_qs();
600.396757 | 0) kworker-81 | 3.960 us | } /* _cond_resched */
600.396759 | 0) kworker-81 | 0.561 us | init_wait_entry();
600.396763 | 0) kworker-81 | | prepare_to_wait_event() {
600.396764 | 0) kworker-81 | 0.733 us | _raw_spin_lock_irqsave();
600.396768 | 0) kworker-81 | 0.582 us | _raw_spin_unlock_irqrestore();
600.396772 | 0) kworker-81 | 7.802 us | } /* prepare_to_wait_event */
600.396774 | 0) kworker-81 | | schedule() {
600.396776 | 0) kworker-81 | | rcu_note_context_switch() {
600.396777 | 0) kworker-81 | 0.495 us | rcu_sched_qs();
600.396781 | 0) kworker-81 | 4.024 us | } /* rcu_note_context_switch */
600.396783 | 0) kworker-81 | 0.493 us | _raw_spin_lock();
600.396786 | 0) kworker-81 | 0.923 us | update_rq_clock();
600.396790 | 0) kworker-81 | | deactivate_task() {
600.396793 | 0) kworker-81 | | dequeue_task_fair() {
600.396795 | 0) kworker-81 | | dequeue_entity() {
600.396796 | 0) kworker-81 | | update_curr() {
600.396798 | 0) kworker-81 | 0.528 us | update_min_vruntime();
600.396802 | 0) kworker-81 | 0.537 us | cpuacct_charge();
600.396805 | 0) kworker-81 | 7.724 us | } /* update_curr */
600.396807 | 0) kworker-81 | 0.600 us | __update_load_avg_se.isra.21();
600.396811 | 0) kworker-81 | 0.591 us | __update_load_avg_cfs_rq.isra.22();
600.396815 | 0) kworker-81 | 0.561 us | clear_buddies();
600.396818 | 0) kworker-81 | 0.608 us | account_entity_dequeue();
600.396822 | 0) kworker-81 | 0.531 us | update_cfs_group();
600.396825 | 0) kworker-81 | 29.358 us | } /* dequeue_entity */
600.396827 | 0) kworker-81 | 0.469 us | hrtick_update();
600.396832 | 0) kworker-81 | 37.247 us | } /* dequeue_task_fair */
600.396834 | 0) kworker-81 | 41.369 us | } /* deactivate_task */
600.396835 | 0) kworker-81 | | wq_worker_sleeping() {
600.396837 | 0) kworker-81 | 0.507 us | kthread_data();
600.396842 | 0) kworker-81 | 4.026 us | } /* wq_worker_sleeping */
600.396844 | 0) kworker-81 | | pick_next_task_fair() {
600.396846 | 0) kworker-81 | 0.490 us | check_cfs_rq_runtime();
600.396849 | 0) kworker-81 | | pick_next_entity() {
600.396851 | 0) kworker-81 | 0.508 us | clear_buddies();
600.396855 | 0) kworker-81 | 4.061 us | } /* pick_next_entity */
600.396857 | 0) kworker-81 | | put_prev_entity() {
600.396859 | 0) kworker-81 | 0.483 us | check_cfs_rq_runtime();
600.396863 | 0) kworker-81 | 4.064 us | } /* put_prev_entity */
600.396864 | 0) kworker-81 | | set_next_entity() {
600.396867 | 0) kworker-81 | 0.606 us | __update_load_avg_se.isra.21();
600.396870 | 0) kworker-81 | 0.556 us | __update_load_avg_cfs_rq.isra.22();
600.396874 | 0) kworker-81 | 8.356 us | } /* set_next_entity */
600.396876 | 0) kworker-81 | 30.584 us | } /* pick_next_task_fair */
600.396879 | 0) kworker-81 | 0.501 us | enter_lazy_tlb();
0) kworker-81 => kworker-434
0) kworker-434 => kworker-81
600.397304 | 0) kworker-81 | | finish_task_switch() {
600.397307 | 0) kworker-81 | ==========> |
600.397307 | 0) kworker-81 | | smp_apic_timer_interrupt() {
600.397309 | 0) kworker-81 | | irq_enter() {
600.397310 | 0) kworker-81 | | rcu_irq_enter() {
600.397312 | 0) kworker-81 | 0.555 us | rcu_nmi_enter();
600.397316 | 0) kworker-81 | 4.100 us | } /* rcu_irq_enter */
600.397318 | 0) kworker-81 | 0.760 us | irqtime_account_irq();
600.397322 | 0) kworker-81 | 11.439 us | } /* irq_enter */
600.397323 | 0) kworker-81 | | hrtimer_interrupt() {
600.397325 | 0) kworker-81 | 0.508 us | _raw_spin_lock_irqsave();
600.397329 | 0) kworker-81 | 0.837 us | ktime_get_update_offsets_now();
600.397332 | 0) kworker-81 | | __hrtimer_run_queues() {
600.397334 | 0) kworker-81 | 0.516 us | __next_base();
600.397338 | 0) kworker-81 | 0.867 us | __remove_hrtimer();
600.397341 | 0) kworker-81 | 0.540 us | _raw_spin_unlock_irqrestore();
600.397345 | 0) kworker-81 | | tick_sched_timer() {
600.397347 | 0) kworker-81 | 0.688 us | ktime_get();
600.397351 | 0) kworker-81 | | tick_sched_do_timer() {
600.397352 | 0) kworker-81 | 5.011 us | tick_do_update_jiffies64.part.5();
600.397361 | 0) kworker-81 | 8.903 us | } /* tick_sched_do_timer */
600.397363 | 0) kworker-81 | | tick_sched_handle() {
600.397364 | 0) kworker-81 | 9.874 us | update_process_times();
600.397377 | 0) kworker-81 | 0.537 us | profile_tick();
600.397381 | 0) kworker-81 | 17.055 us | } /* tick_sched_handle */
600.397383 | 0) kworker-81 | 0.605 us | hrtimer_forward();
600.397386 | 0) kworker-81 | 39.630 us | } /* tick_sched_timer */
600.397388 | 0) kworker-81 | 0.529 us | _raw_spin_lock_irq();
600.397391 | 0) kworker-81 | 0.917 us | enqueue_hrtimer();
600.397395 | 0) kworker-81 | 0.529 us | __next_base();
600.397399 | 0) kworker-81 | 0.517 us | __next_base();
600.397402 | 0) kworker-81 | 0.531 us | __next_base();
600.397406 | 0) kworker-81 | 72.143 us | } /* __hrtimer_run_queues */
600.397407 | 0) kworker-81 | | __hrtimer_get_next_event() {
600.397409 | 0) kworker-81 | | __hrtimer_next_event_base() {
600.397411 | 0) kworker-81 | 0.522 us | __next_base();
600.397414 | 0) kworker-81 | 3.678 us | } /* __hrtimer_next_event_base */
600.397416 | 0) kworker-81 | | __hrtimer_next_event_base() {
600.397417 | 0) kworker-81 | 0.505 us | __next_base();
600.397420 | 0) kworker-81 | 0.504 us | __next_base();
600.397424 | 0) kworker-81 | 0.505 us | __next_base();
600.397427 | 0) kworker-81 | 0.510 us | __next_base();
600.397430 | 0) kworker-81 | 13.422 us | } /* __hrtimer_next_event_base */
600.397432 | 0) kworker-81 | 23.157 us | } /* __hrtimer_get_next_event */
600.397433 | 0) kworker-81 | 0.525 us | _raw_spin_unlock_irqrestore();
600.397437 | 0) kworker-81 | | tick_program_event() {
600.397438 | 0) kworker-81 | | clockevents_program_event() {
600.397440 | 0) kworker-81 | 0.680 us | ktime_get();
600.397444 | 0) kworker-81 | 0.695 us | lapic_next_event();
600.397448 | 0) kworker-81 | 7.802 us | } /* clockevents_program_event */
600.397449 | 0) kworker-81 | 11.130 us | } /* tick_program_event */
600.397451 | 0) kworker-81 | 125.887 us | } /* hrtimer_interrupt */
600.397452 | 0) kworker-81 | | irq_exit() {
600.397454 | 0) kworker-81 | 0.804 us | irqtime_account_irq();
600.397458 | 0) kworker-81 | | do_softirq_own_stack() {
600.397460 | 0) kworker-81 | | call_on_stack() {
600.397462 | 0) kworker-81 | | __do_softirq() {
600.397464 | 0) kworker-81 | 0.766 us | irqtime_account_irq();
600.397467 | 0) kworker-81 | 1.262 us | run_timer_softirq();
600.397472 | 0) kworker-81 | 0.484 us | rcu_bh_qs();
600.397475 | 0) kworker-81 | 0.855 us | irqtime_account_irq();
600.397479 | 0) kworker-81 | 15.082 us | } /* __do_softirq */
600.397480 | 0) kworker-81 | 18.533 us | } /* call_on_stack */
600.397482 | 0) kworker-81 | 23.118 us | } /* do_softirq_own_stack */
600.397484 | 0) kworker-81 | 0.502 us | idle_cpu();
600.397487 | 0) kworker-81 | | rcu_irq_exit() {
600.397489 | 0) kworker-81 | 0.528 us | rcu_nmi_exit();
600.397492 | 0) kworker-81 | 3.782 us | } /* rcu_irq_exit */
600.397494 | 0) kworker-81 | 40.070 us | } /* irq_exit */
600.397496 | 0) kworker-81 | 187.073 us | } /* smp_apic_timer_interrupt */
600.397496 | 0) kworker-81 | <========== |
600.397498 | 0) kworker-81 | 192.165 us | } /* finish_task_switch */
600.397500 | 0) kworker-81 | 724.625 us | } /* schedule */
600.397501 | 0) kworker-81 | | prepare_to_wait_event() {
600.397503 | 0) kworker-81 | 0.534 us | _raw_spin_lock_irqsave();
600.397506 | 0) kworker-81 | 0.544 us | _raw_spin_unlock_irqrestore();
600.397510 | 0) kworker-81 | 7.472 us | } /* prepare_to_wait_event */
600.397512 | 0) kworker-81 | | finish_wait() {
600.397513 | 0) kworker-81 | 0.505 us | _raw_spin_lock_irqsave();
600.397517 | 0) kworker-81 | 0.522 us | _raw_spin_unlock_irqrestore();
600.397520 | 0) kworker-81 | 7.139 us | } /* finish_wait */
600.397522 | 0) kworker-81 | 857.975 us | } /* usb_kill_urb */
600.397524 | 0) kworker-81 | 861.707 us | } /* hub_quiesce */
600.397526 | 0) kworker-81 | 865.786 us | } /* hub_suspend */
600.397528 | 0) kworker-81 | | generic_suspend() {
600.397529 | 0) kworker-81 | | hcd_bus_suspend() {
600.397531 | 0) kworker-81 | | ohci_bus_suspend [ohci_hcd]() {
600.397533 | 0) kworker-81 | 0.617 us | _raw_spin_lock_irq();
600.397537 | 0) kworker-81 | | ohci_rh_suspend [ohci_hcd]() {
600.397540 | 0) kworker-81 | 0.985 us | update_done_list [ohci_hcd]();
600.397544 | 0) kworker-81 | 0.959 us | ohci_work.part.13 [ohci_hcd]();
600.397554 | 0) kworker-81 | 15.217 us | } /* ohci_rh_suspend [ohci_hcd] */
600.397555 | 0) kworker-81 | | del_timer_sync() {
600.397557 | 0) kworker-81 | | try_to_del_timer_sync() {
600.397559 | 0) kworker-81 | | lock_timer_base() {
600.397560 | 0) kworker-81 | 0.563 us | _raw_spin_lock_irqsave();
600.397564 | 0) kworker-81 | 3.844 us | } /* lock_timer_base */
600.397565 | 0) kworker-81 | 0.546 us | detach_if_pending();
600.397568 | 0) kworker-81 | 0.499 us | _raw_spin_unlock_irqrestore();
600.397572 | 0) kworker-81 | 13.834 us | } /* try_to_del_timer_sync */
600.397574 | 0) kworker-81 | 17.070 us | } /* del_timer_sync */
600.397576 | 0) kworker-81 | 42.649 us | } /* ohci_bus_suspend [ohci_hcd] */
600.397577 | 0) kworker-81 | | usb_set_device_state() {
600.397579 | 0) kworker-81 | 0.490 us | _raw_spin_lock_irqsave();
600.397582 | 0) kworker-81 | 0.576 us | _raw_spin_unlock_irqrestore();
600.397586 | 0) kworker-81 | 7.235 us | } /* usb_set_device_state */
600.397588 | 0) kworker-81 | | usb_phy_roothub_suspend() {
600.397589 | 0) kworker-81 | 0.478 us | usb_phy_roothub_power_off();
600.397593 | 0) kworker-81 | 3.791 us | } /* usb_phy_roothub_suspend */
600.397595 | 0) kworker-81 | 63.831 us | } /* hcd_bus_suspend */
600.397596 | 0) kworker-81 | 67.338 us | } /* generic_suspend */
600.397598 | 0) kworker-81 | | usb_hcd_flush_endpoint() {
600.397600 | 0) kworker-81 | | _cond_resched() {
600.397601 | 0) kworker-81 | 0.487 us | rcu_all_qs();
600.397605 | 0) kworker-81 | 3.954 us | } /* _cond_resched */
600.397607 | 0) kworker-81 | 0.653 us | _raw_spin_lock_irq();
600.397611 | 0) kworker-81 | 11.733 us | } /* usb_hcd_flush_endpoint */
600.397613 | 0) kworker-81 | | usb_hcd_flush_endpoint() {
600.397614 | 0) kworker-81 | | _cond_resched() {
600.397616 | 0) kworker-81 | 0.492 us | rcu_all_qs();
600.397619 | 0) kworker-81 | 3.690 us | } /* _cond_resched */
600.397621 | 0) kworker-81 | 0.499 us | _raw_spin_lock_irq();
600.397624 | 0) kworker-81 | 10.322 us | } /* usb_hcd_flush_endpoint */
600.397626 | 0) kworker-81 | 0.555 us | usb_hcd_flush_endpoint();
600.397629 | 0) kworker-81 | | usb_hcd_flush_endpoint() {
600.397631 | 0) kworker-81 | | _cond_resched() {
600.397632 | 0) kworker-81 | 0.496 us | rcu_all_qs();
600.397636 | 0) kworker-81 | 3.955 us | } /* _cond_resched */
600.397637 | 0) kworker-81 | 0.520 us | _raw_spin_lock_irq();
600.397641 | 0) kworker-81 | 10.904 us | } /* usb_hcd_flush_endpoint */
600.397643 | 0) kworker-81 | 0.520 us | usb_hcd_flush_endpoint();
600.397646 | 0) kworker-81 | 0.510 us | usb_hcd_flush_endpoint();
600.397649 | 0) kworker-81 | 0.513 us | usb_hcd_flush_endpoint();
600.397652 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397655 | 0) kworker-81 | 0.520 us | usb_hcd_flush_endpoint();
600.397659 | 0) kworker-81 | 0.513 us | usb_hcd_flush_endpoint();
600.397662 | 0) kworker-81 | 0.519 us | usb_hcd_flush_endpoint();
600.397665 | 0) kworker-81 | 0.535 us | usb_hcd_flush_endpoint();
600.397668 | 0) kworker-81 | 0.505 us | usb_hcd_flush_endpoint();
600.397672 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397675 | 0) kworker-81 | 0.511 us | usb_hcd_flush_endpoint();
600.397678 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397682 | 0) kworker-81 | 0.511 us | usb_hcd_flush_endpoint();
600.397685 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397688 | 0) kworker-81 | 0.511 us | usb_hcd_flush_endpoint();
600.397691 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397694 | 0) kworker-81 | 0.510 us | usb_hcd_flush_endpoint();
600.397699 | 0) kworker-81 | 0.514 us | usb_hcd_flush_endpoint();
600.397702 | 0) kworker-81 | 0.517 us | usb_hcd_flush_endpoint();
600.397706 | 0) kworker-81 | 0.490 us | usb_hcd_flush_endpoint();
600.397710 | 0) kworker-81 | 0.511 us | usb_hcd_flush_endpoint();
600.397713 | 0) kworker-81 | 0.513 us | usb_hcd_flush_endpoint();
600.397716 | 0) kworker-81 | 0.546 us | usb_hcd_flush_endpoint();
600.397719 | 0) kworker-81 | 0.510 us | usb_hcd_flush_endpoint();
600.397722 | 0) kworker-81 | 0.543 us | usb_hcd_flush_endpoint();
600.397726 | 0) kworker-81 | 0.510 us | usb_hcd_flush_endpoint();
600.397729 | 0) kworker-81 | 0.536 us | usb_hcd_flush_endpoint();
600.397732 | 0) kworker-81 | 0.494 us | usb_hcd_flush_endpoint();
600.397736 | 0) kworker-81 | 1078.699 us | } /* usb_suspend_both */
600.397738 | 0) kworker-81 | 20825.76 us | } /* usb_suspend */
600.397740 | 0) kworker-81 | 20829.27 us | } /* usb_dev_suspend */
600.397742 | 0) kworker-81 | 0.543 us | dev_driver_string();
600.397746 | 0) kworker-81 | 0.514 us | dev_driver_string();
600.397749 | 0) kworker-81 | | /* device_pm_callback_end: usb usb5, err=0 */