lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 13 Nov 2021 12:56:16 +0100
From:   Mike Galbraith <efault@....de>
To:     lkml <linux-kernel@...r.kernel.org>
Subject: i2c: algo: bit, drm, nouveau -  34ms readbytes() induced RT wakeup
 latency hit

Greetings,

Below please find a heavily trimmed trace of a repeatable >30ms RT
wakeup latency hit and what I did to.. make it stop doing the bad
thing.  All I have to do to reproduce this is to poke any ole icon on
KDE's task manager bar, cyclictest latency spike follows.

---
 drivers/i2c/algos/i2c-algo-bit.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -462,6 +462,7 @@ static int readbytes(struct i2c_adapter
 			if (inval < 0)
 				return inval;
 		}
+		cond_resched();
 	}
 	return rdcount;
 }

# tracer: wakeup_rt
#
# wakeup_rt latency trace v1.1.5 on 5.15.0.g66f4bea-master
# --------------------------------------------------------------------
# latency: 34260 us, #19617/19617, CPU#6 | (M:desktop VP:0, KP:0, SP:0 HP:0 #P:8)
#    -----------------
#    | task: cyclictest-4301 (uid:0 nice:0 policy:1 rt_prio:99)
#    -----------------
#
#                    _------=> CPU#
#                   / _-----=> irqs-off
#                  | / _----=> need-resched
#                  || / _---=> hardirq/softirq
#                  ||| / _--=> preempt-depth
#                  |||| / _-=> migrate-disable
#                  ||||| /     delay
#  cmd     pid     |||||| time  |   caller
#     \   /        ||||||  \    |    /
       X-2193      6dNh4.    0us+:     2193:120:R   + [006]    4301:  0:R cyclictest
       X-2193      6dNh4.   23us : <stack trace>
 => __ftrace_trace_stack+0x12f/0x160
 => probe_wakeup+0x285/0x310
 => ttwu_do_wakeup+0x111/0x180
 => try_to_wake_up+0x3e6/0x4a0
 => hrtimer_wakeup+0x1e/0x30
 => __hrtimer_run_queues+0xfc/0x260
 => hrtimer_interrupt+0xe5/0x240
 => __sysvec_apic_timer_interrupt+0x57/0x110
 => sysvec_apic_timer_interrupt+0x4b/0x90
 => asm_sysvec_apic_timer_interrupt+0x12/0x20
 => ioread32+0x19/0x30
 => gf119_i2c_bus_drive_scl+0x2a/0x50 [nouveau]
 => sclhi+0x18/0x80 [i2c_algo_bit]
 => i2c_outb+0x4b/0x100 [i2c_algo_bit]
 => bit_xfer+0x30e/0x510 [i2c_algo_bit]
 => __i2c_transfer+0x169/0x4d0
 => i2c_transfer+0x4f/0x110
 => drm_do_probe_ddc_edid+0xa7/0x110 [drm]
 => drm_do_get_edid_base_block+0x6a/0x100 [drm]
 => drm_do_get_edid+0x49/0x230 [drm]
 => drm_get_edid+0x32/0x70 [drm]
 => nouveau_connector_detect+0x144/0x450 [nouveau]
 => drm_helper_probe_detect+0x85/0xa0 [drm_kms_helper]
 => drm_helper_probe_single_connector_modes+0x67b/0x7d0 [drm_kms_helper]
 => drm_mode_getconnector+0x3dc/0x470 [drm]
 => drm_ioctl_kernel+0x90/0x120 [drm]
 => drm_ioctl+0x2e6/0x390 [drm]
 => nouveau_drm_ioctl+0x56/0xb0 [nouveau]
 => __x64_sys_ioctl+0x73/0xb0
 => do_syscall_64+0x37/0x80
 => entry_SYSCALL_64_after_hwframe+0x44/0xae
       X-2193      6dNh4.   23us : 0
       X-2193      6dNh3.   23us : task_woken_rt+0x0/0x60 <-ttwu_do_wakeup+0x48/0x180
       X-2193      6dNh2.   23us : _raw_spin_unlock_irqrestore+0x0/0x20 <-try_to_wake_up+0x411/0x4a0
       X-2193      6dNh..   24us : _raw_spin_lock_irq+0x0/0x26 <-__hrtimer_run_queues+0x10e/0x260
       X-2193      6dNh1.   24us : hrtimer_update_next_event+0x0/0x50 <-hrtimer_interrupt+0xed/0x240
       X-2193      6dNh1.   24us : __hrtimer_get_next_event+0x0/0x70 <-hrtimer_update_next_event+0x24/0x50
       X-2193      6dNh1.   24us : __hrtimer_next_event_base+0x0/0xe0 <-__hrtimer_get_next_event+0x60/0x70
       X-2193      6dNh1.   24us : __hrtimer_get_next_event+0x0/0x70 <-hrtimer_update_next_event+0x38/0x50
       X-2193      6dNh1.   24us : __hrtimer_next_event_base+0x0/0xe0 <-hrtimer_update_next_event+0x38/0x50
       X-2193      6dNh1.   24us : _raw_spin_unlock_irqrestore+0x0/0x20 <-hrtimer_interrupt+0x105/0x240
       X-2193      6dNh..   24us : tick_program_event+0x0/0x70 <-hrtimer_interrupt+0x113/0x240
       X-2193      6dNh..   25us : clockevents_program_event+0x0/0x100 <-hrtimer_interrupt+0x113/0x240
       X-2193      6dNh..   25us : ktime_get+0x0/0xa0 <-clockevents_program_event+0x8c/0x100
       X-2193      6dNh..   25us : lapic_next_deadline+0x0/0x40 <-clockevents_program_event+0xc9/0x100
       X-2193      6dNh..   25us : irq_exit_rcu+0x0/0xb0 <-sysvec_apic_timer_interrupt+0x50/0x90
       X-2193      6dN...   25us : idle_cpu+0x0/0x40 <-irq_exit_rcu+0x3b/0xb0
       X-2193      6.N...   25us : nvkm_i2c_bus_getscl+0x0/0x20 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N...   26us : gf119_i2c_bus_sense_scl+0x0/0x30 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N...   28us : __udelay+0x0/0x10 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N...   28us : __const_udelay+0x0/0x50 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N...   28us : delay_tsc+0x0/0x80 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N...   39us : nvkm_i2c_bus_setscl+0x0/0x20 [nouveau] <-i2c_outb+0x5e/0x100 [i2c_algo_bit]
       X-2193      6.N...   39us : gf119_i2c_bus_drive_scl+0x0/0x50 [nouveau] <-i2c_outb+0x5e/0x100 [i2c_algo_bit]
       X-2193      6.N...   41us : __udelay+0x0/0x10 <-i2c_outb+0x78/0x100 [i2c_algo_bit]
       X-2193      6.N...   41us : __const_udelay+0x0/0x50 <-i2c_outb+0x78/0x100 [i2c_algo_bit]
       X-2193      6.N...   41us : delay_tsc+0x0/0x80 <-i2c_outb+0x78/0x100 [i2c_algo_bit]
       X-2193      6.N...   46us : nvkm_i2c_bus_setsda+0x0/0x20 [nouveau] <-i2c_outb+0x29/0x100 [i2c_algo_bit]
       X-2193      6.N...   46us : gf119_i2c_bus_drive_sda+0x0/0x50 [nouveau] <-i2c_outb+0x29/0x100 [i2c_algo_bit]
       X-2193      6.N...   48us : __udelay+0x0/0x10 <-i2c_outb+0x43/0x100 [i2c_algo_bit]
       X-2193      6.N...   48us : __const_udelay+0x0/0x50 <-i2c_outb+0x43/0x100 [i2c_algo_bit]
       X-2193      6.N...   49us : delay_tsc+0x0/0x80 <-i2c_outb+0x43/0x100 [i2c_algo_bit]
       X-2193      6.N...   54us : sclhi+0x0/0x80 [i2c_algo_bit] <-i2c_outb+0x4b/0x100 [i2c_algo_bit]
       X-2193      6.N...   54us : nvkm_i2c_bus_setscl+0x0/0x20 [nouveau] <-sclhi+0x18/0x80 [i2c_algo_bit]
       X-2193      6.N...   54us : gf119_i2c_bus_drive_scl+0x0/0x50 [nouveau] <-sclhi+0x18/0x80 [i2c_algo_bit]
       X-2193      6.N...   56us : nvkm_i2c_bus_getscl+0x0/0x20 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N...   56us : gf119_i2c_bus_sense_scl+0x0/0x30 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N...   58us : __udelay+0x0/0x10 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N...   58us : __const_udelay+0x0/0x50 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N...   58us : delay_tsc+0x0/0x80 <-sclhi+0x5e/0x80 [i2c_algo_bit]

ka-snip...

       X-2193      6.N... 34205us : sclhi+0x0/0x80 [i2c_algo_bit] <-i2c_stop+0x36/0x60 [i2c_algo_bit]
       X-2193      6.N... 34205us : nvkm_i2c_bus_setscl+0x0/0x20 [nouveau] <-sclhi+0x18/0x80 [i2c_algo_bit]
       X-2193      6.N... 34205us : gf119_i2c_bus_drive_scl+0x0/0x50 [nouveau] <-sclhi+0x18/0x80 [i2c_algo_bit]
       X-2193      6.N... 34207us : nvkm_i2c_bus_getscl+0x0/0x20 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N... 34207us : gf119_i2c_bus_sense_scl+0x0/0x30 [nouveau] <-sclhi+0x4e/0x80 [i2c_algo_bit]
       X-2193      6.N... 34209us : __udelay+0x0/0x10 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N... 34209us : __const_udelay+0x0/0x50 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N... 34210us : delay_tsc+0x0/0x80 <-sclhi+0x5e/0x80 [i2c_algo_bit]
       X-2193      6.N... 34220us : nvkm_i2c_bus_setsda+0x0/0x20 [nouveau] <-i2c_stop+0x44/0x60 [i2c_algo_bit]
       X-2193      6.N... 34220us : gf119_i2c_bus_drive_sda+0x0/0x50 [nouveau] <-i2c_stop+0x44/0x60 [i2c_algo_bit]
       X-2193      6.N... 34222us : __udelay+0x0/0x10 <-bit_xfer+0x21d/0x510 [i2c_algo_bit]
       X-2193      6.N... 34222us : __const_udelay+0x0/0x50 <-bit_xfer+0x21d/0x510 [i2c_algo_bit]
       X-2193      6.N... 34222us : delay_tsc+0x0/0x80 <-bit_xfer+0x21d/0x510 [i2c_algo_bit]
       X-2193      6.N... 34232us : nvkm_i2c_bus_post_xfer+0x0/0x10 [nouveau] <-bit_xfer+0x22c/0x510 [i2c_algo_bit]
       X-2193      6.N... 34232us : nvkm_i2c_bus_release+0x0/0x50 [nouveau] <-bit_xfer+0x22c/0x510 [i2c_algo_bit]
       X-2193      6.N... 34232us : nvkm_i2c_pad_release+0x0/0x50 [nouveau] <-nvkm_i2c_bus_release+0x20/0x50 [nouveau]
       X-2193      6.N... 34233us : nvkm_i2c_pad_mode_locked+0x0/0x70 [nouveau] <-nvkm_i2c_pad_release+0x24/0x50 [nouveau]
       X-2193      6.N... 34233us : mutex_unlock+0x0/0x20 <-nvkm_i2c_bus_release+0x20/0x50 [nouveau]
       X-2193      6.N... 34233us : mutex_unlock+0x0/0x20 <-bit_xfer+0x22c/0x510 [i2c_algo_bit]
       X-2193      6.N... 34233us : i2c_adapter_unlock_bus+0x0/0x10 <-i2c_transfer+0x65/0x110
       X-2193      6.N... 34233us : rt_mutex_unlock+0x0/0xf0 <-i2c_transfer+0x65/0x110
       X-2193      6.N... 34233us : drm_edid_block_valid+0x0/0x1f0 [drm] <-drm_do_get_edid_base_block+0x7f/0x100 [drm]
       X-2193      6.N... 34234us : drm_connector_update_edid_property+0x0/0x110 [drm] <-drm_get_edid+0x40/0x70 [drm]
       X-2193      6.N... 34234us : drm_add_display_info+0x0/0xb60 [drm] <-drm_connector_update_edid_property+0x3e/0x110 [drm]
       X-2193      6.N... 34234us : drm_reset_display_info+0x0/0x90 [drm] <-drm_add_display_info+0x7e/0xb60 [drm]
       X-2193      6.N... 34235us : drm_for_each_detailed_block.part.8+0x0/0x120 [drm] <-drm_add_display_info+0xc4/0xb60 [drm]
       X-2193      6.N... 34235us : get_monitor_range+0x0/0x40 [drm] <-drm_for_each_detailed_block.part.8+0x30/0x120 [drm]
       X-2193      6.N... 34235us : get_monitor_range+0x0/0x40 [drm] <-drm_for_each_detailed_block.part.8+0x30/0x120 [drm]
       X-2193      6.N... 34235us : get_monitor_range+0x0/0x40 [drm] <-drm_for_each_detailed_block.part.8+0x30/0x120 [drm]
       X-2193      6.N... 34235us : get_monitor_range+0x0/0x40 [drm] <-drm_for_each_detailed_block.part.8+0x30/0x120 [drm]
       X-2193      6.N... 34235us : __drm_dbg+0x0/0x70 [drm] <-drm_add_display_info+0xe3/0xb60 [drm]
       X-2193      6.N... 34235us : __drm_dbg+0x0/0x70 [drm] <-drm_add_display_info+0x100/0xb60 [drm]
       X-2193      6.N... 34236us : drm_find_cea_extension+0x0/0x80 [drm] <-drm_add_display_info+0x130/0xb60 [drm]
       X-2193      6.N... 34236us : displayid_iter_edid_begin+0x0/0x30 [drm] <-drm_find_cea_extension+0x44/0x80 [drm]
       X-2193      6.N... 34236us : __displayid_iter_next+0x0/0x190 [drm] <-drm_find_cea_extension+0x55/0x80 [drm]
       X-2193      6.N... 34236us : drm_find_edid_extension+0x0/0x50 [drm] <-__displayid_iter_next+0xa0/0x190 [drm]
       X-2193      6.N... 34236us : displayid_iter_end+0x0/0x30 [drm] <-drm_find_cea_extension+0x68/0x80 [drm]
       X-2193      6.N... 34237us : drm_update_tile_info+0x0/0x240 [drm] <-drm_connector_update_edid_property+0x49/0x110 [drm]
       X-2193      6.N... 34237us : displayid_iter_edid_begin+0x0/0x30 [drm] <-drm_update_tile_info+0x31/0x240 [drm]
       X-2193      6.N... 34237us : __displayid_iter_next+0x0/0x190 [drm] <-drm_update_tile_info+0x42/0x240 [drm]
       X-2193      6.N... 34237us : drm_find_edid_extension+0x0/0x50 [drm] <-__displayid_iter_next+0xa0/0x190 [drm]
       X-2193      6.N... 34237us : displayid_iter_end+0x0/0x30 [drm] <-drm_update_tile_info+0x51/0x240 [drm]
       X-2193      6.N... 34237us : drm_edid_are_equal+0x0/0x50 [drm] <-drm_connector_update_edid_property+0x66/0x110 [drm]
       X-2193      6.N... 34238us : drm_object_property_set_value+0x0/0x90 [drm] <-drm_connector_update_edid_property+0x84/0x110 [drm]
       X-2193      6.N... 34238us : drm_property_replace_global_blob+0x0/0xe0 [drm] <-drm_connector_update_edid_property+0xa3/0x110 [drm]
       X-2193      6.N... 34238us : drm_property_create_blob.part.3+0x0/0xe0 [drm] <-drm_property_replace_global_blob+0x88/0xe0 [drm]
       X-2193      6.N... 34238us : kvmalloc_node+0x0/0x80 <-drm_property_create_blob.part.3+0x2e/0xe0 [drm]
       X-2193      6.N... 34238us : __kmalloc+0x0/0x200 <-drm_property_create_blob.part.3+0x2e/0xe0 [drm]
       X-2193      6.N... 34239us : kmalloc_slab+0x0/0x70 <-__kmalloc+0x27/0x200
       X-2193      6.N... 34239us : __might_sleep+0x0/0x60 <-__kmalloc+0x58/0x200
       X-2193      6.N... 34239us : __might_resched+0x0/0x130 <-__kmalloc+0x58/0x200
       X-2193      6.N... 34239us : __cond_resched+0x0/0x30 <-__kmalloc+0x5d/0x200
       X-2193      6dN.1. 34239us : rcu_note_context_switch+0x0/0x100 <-__schedule+0x79/0x8f0
       X-2193      6dN.1. 34239us : rcu_qs+0x0/0x60 <-rcu_note_context_switch+0xc/0x100
       X-2193      6dN.2. 34239us : _raw_spin_lock+0x0/0x30 <-__schedule+0x88/0x8f0
       X-2193      6dN.2. 34240us : update_rq_clock+0x0/0x50 <-__schedule+0xd7/0x8f0
       X-2193      6dN.2. 34240us : balance_fair+0x0/0x30 <-__schedule+0x604/0x8f0
       X-2193      6dN.2. 34240us : put_prev_task_fair+0x0/0x2c0 <-__schedule+0x62c/0x8f0
       X-2193      6dN.2. 34240us : update_curr+0x0/0x180 <-put_prev_task_fair+0x88/0x2c0
       X-2193      6dN.2. 34240us : update_min_vruntime+0x0/0x60 <-update_curr+0x6b/0x180
       X-2193      6dN.2. 34240us : __enqueue_entity+0x0/0x70 <-put_prev_task_fair+0xcb/0x2c0
       X-2193      6dN.2. 34240us : __update_load_avg_se+0x0/0x310 <-put_prev_task_fair+0xfe/0x2c0
       X-2193      6dN.2. 34241us : __accumulate_pelt_segments+0x0/0xa0 <-__update_load_avg_se+0x286/0x310
       X-2193      6dN.2. 34241us : __update_load_avg_cfs_rq+0x0/0x2d0 <-put_prev_task_fair+0x205/0x2c0
       X-2193      6dN.2. 34241us : __accumulate_pelt_segments+0x0/0xa0 <-__update_load_avg_cfs_rq+0x251/0x2d0
       X-2193      6dN.2. 34241us : sugov_update_single_freq+0x0/0x190 <-put_prev_task_fair+0x246/0x2c0
       X-2193      6dN.2. 34241us : sugov_iowait_boost+0x0/0x60 <-sugov_update_single_freq+0x20/0x190
       X-2193      6dN.2. 34241us : cpufreq_this_cpu_can_update+0x0/0x40 <-sugov_update_single_freq+0x63/0x190
       X-2193      6dN.2. 34241us : sugov_get_util+0x0/0x70 <-sugov_update_single_freq+0x92/0x190
       X-2193      6dN.2. 34242us : effective_cpu_util+0x0/0x80 <-sugov_get_util+0x5e/0x70
       X-2193      6dN.2. 34242us : sugov_iowait_apply+0x0/0x60 <-sugov_update_single_freq+0x9d/0x190
       X-2193      6dN.2. 34242us : get_next_freq+0x0/0x50 <-sugov_update_single_freq+0xad/0x190
       X-2193      6dN.2. 34242us : tick_nohz_get_idle_calls_cpu+0x0/0x20 <-sugov_update_single_freq+0xb8/0x190
       X-2193      6dN.2. 34242us : pick_next_task_stop+0x0/0x70 <-__schedule+0x674/0x8f0
       X-2193      6d..2. 34242us : enter_lazy_tlb+0x0/0x20 <-__schedule+0x6c6/0x8f0
       X-2193      6d..2. 34243us : save_fpregs_to_fpstate+0x0/0x50 <-__switch_to+0x2c4/0x400
migratio-42        6d..2. 34243us : __switch_to_xtra+0x0/0x5d0 <-__switch_to+0x1dc/0x400
migratio-42        6d..2. 34243us : finish_task_switch+0x0/0x2d0 <-__schedule+0x2aa/0x8f0
migratio-42        6...1. 34244us : kthread_should_stop+0x0/0x30 <-smpboot_thread_fn+0x50/0x1d0
migratio-42        6...1. 34244us : kthread_should_park+0x0/0x30 <-smpboot_thread_fn+0x5d/0x1d0
migratio-42        6...1. 34244us : cpu_stop_should_run+0x0/0x50 <-smpboot_thread_fn+0x103/0x1d0
migratio-42        6...1. 34244us : _raw_spin_lock_irqsave+0x0/0x30 <-cpu_stop_should_run+0x2a/0x50
migratio-42        6d..2. 34245us : _raw_spin_unlock_irqrestore+0x0/0x20 <-cpu_stop_should_run+0x38/0x50
migratio-42        6..... 34245us : cpu_stopper_thread+0x0/0x120 <-smpboot_thread_fn+0x130/0x1d0
migratio-42        6..... 34245us : _raw_spin_lock_irq+0x0/0x26 <-cpu_stopper_thread+0x30/0x120
migratio-42        6...1. 34245us : active_load_balance_cpu_stop+0x0/0x2f0 <-cpu_stopper_thread+0x96/0x120
migratio-42        6d..1. 34245us : raw_spin_rq_lock_nested+0x0/0x20 <-active_load_balance_cpu_stop+0x45/0x2f0
migratio-42        6d..2. 34245us : _raw_spin_lock+0x0/0x30 <-raw_spin_rq_lock_nested+0x11/0x20
migratio-42        6d..3. 34245us : update_rq_clock+0x0/0x50 <-active_load_balance_cpu_stop+0x13f/0x2f0
migratio-42        6d..3. 34245us : update_rq_clock.part.126+0x0/0xb0 <-active_load_balance_cpu_stop+0x13f/0x2f0
migratio-42        6d..3. 34246us : kthread_is_per_cpu+0x0/0x30 <-active_load_balance_cpu_stop+0x165/0x2f0
migratio-42        6d..3. 34246us : can_migrate_task.part.105+0x0/0x1e0 <-active_load_balance_cpu_stop+0x176/0x2f0
migratio-42        6d..3. 34246us : deactivate_task+0x0/0xc0 <-active_load_balance_cpu_stop+0x18c/0x2f0
migratio-42        6d..3. 34246us : dequeue_task_fair+0x0/0x650 <-active_load_balance_cpu_stop+0x18c/0x2f0
migratio-42        6d..3. 34246us : update_curr+0x0/0x180 <-dequeue_task_fair+0x1bd/0x650
migratio-42        6d..3. 34246us : __update_load_avg_se+0x0/0x310 <-dequeue_task_fair+0x1f8/0x650
migratio-42        6d..3. 34246us : __update_load_avg_cfs_rq+0x0/0x2d0 <-dequeue_task_fair+0x21d/0x650
migratio-42        6d..3. 34247us : clear_buddies+0x0/0xb0 <-dequeue_task_fair+0x274/0x650
migratio-42        6d..3. 34247us : update_min_vruntime+0x0/0x60 <-dequeue_task_fair+0x33c/0x650
migratio-42        6d..3. 34247us : hrtick_update+0x0/0x70 <-active_load_balance_cpu_stop+0x18c/0x2f0
migratio-42        6d..3. 34247us : set_task_cpu+0x0/0x140 <-active_load_balance_cpu_stop+0x198/0x2f0
migratio-42        6d..3. 34247us : migrate_task_rq_fair+0x0/0x70 <-set_task_cpu+0x63/0x140
migratio-42        6d..3. 34248us : detach_entity_cfs_rq+0x0/0x350 <-migrate_task_rq_fair+0x66/0x70
migratio-42        6d..3. 34248us : __update_load_avg_se+0x0/0x310 <-detach_entity_cfs_rq+0x62/0x350
migratio-42        6d..3. 34248us : __update_load_avg_cfs_rq+0x0/0x2d0 <-detach_entity_cfs_rq+0x177/0x350
migratio-42        6d..3. 34248us : sugov_update_single_freq+0x0/0x190 <-detach_entity_cfs_rq+0x288/0x350
migratio-42        6d..3. 34248us : sugov_iowait_boost+0x0/0x60 <-sugov_update_single_freq+0x20/0x190
migratio-42        6d..3. 34248us : cpufreq_this_cpu_can_update+0x0/0x40 <-sugov_update_single_freq+0x63/0x190
migratio-42        6d..3. 34248us : sugov_get_util+0x0/0x70 <-sugov_update_single_freq+0x92/0x190
migratio-42        6d..3. 34248us : effective_cpu_util+0x0/0x80 <-sugov_get_util+0x5e/0x70
migratio-42        6d..3. 34249us : sugov_iowait_apply+0x0/0x60 <-sugov_update_single_freq+0x9d/0x190
migratio-42        6d..3. 34249us : get_next_freq+0x0/0x50 <-sugov_update_single_freq+0xad/0x190
migratio-42        6d..3. 34249us : tick_nohz_get_idle_calls_cpu+0x0/0x20 <-sugov_update_single_freq+0xb8/0x190
migratio-42        6d..2. 34249us : raw_spin_rq_unlock+0x0/0x20 <-active_load_balance_cpu_stop+0x22a/0x2f0
migratio-42        6d..1. 34249us : raw_spin_rq_lock_nested+0x0/0x20 <-active_load_balance_cpu_stop+0x239/0x2f0
migratio-42        6d..2. 34249us : _raw_spin_lock+0x0/0x30 <-raw_spin_rq_lock_nested+0x11/0x20
migratio-42        6d..2. 34249us : update_rq_clock+0x0/0x50 <-active_load_balance_cpu_stop+0x265/0x2f0
migratio-42        6d..2. 34249us : update_rq_clock.part.126+0x0/0xb0 <-active_load_balance_cpu_stop+0x265/0x2f0
migratio-42        6d..2. 34250us : attach_task+0x0/0x40 <-active_load_balance_cpu_stop+0x270/0x2f0
migratio-42        6d..2. 34250us : activate_task+0x0/0x90 <-attach_task+0x2e/0x40
migratio-42        6d..2. 34250us : enqueue_task_fair+0x0/0x9e0 <-activate_task+0x37/0x90
migratio-42        6d..2. 34250us : update_curr+0x0/0x180 <-enqueue_task_fair+0x7b3/0x9e0
migratio-42        6d..2. 34250us : __update_load_avg_cfs_rq+0x0/0x2d0 <-enqueue_task_fair+0x3ea/0x9e0
migratio-42        6d..2. 34250us : attach_entity_load_avg+0x0/0x190 <-enqueue_task_fair+0x40f/0x9e0
migratio-42        6d..2. 34250us : sugov_update_single_freq+0x0/0x190 <-attach_entity_load_avg+0x127/0x190
migratio-42        6d..2. 34251us : sugov_iowait_boost+0x0/0x60 <-sugov_update_single_freq+0x20/0x190
migratio-42        6d..2. 34251us : cpufreq_this_cpu_can_update+0x0/0x40 <-sugov_update_single_freq+0x63/0x190
migratio-42        6d..2. 34251us : __enqueue_entity+0x0/0x70 <-enqueue_task_fair+0x70d/0x9e0
migratio-42        6d..2. 34251us : hrtick_update+0x0/0x70 <-activate_task+0x37/0x90
migratio-42        6d..2. 34251us : check_preempt_curr+0x0/0x60 <-active_load_balance_cpu_stop+0x270/0x2f0
migratio-42        6d..2. 34251us : resched_curr+0x0/0xb0 <-check_preempt_curr+0x4f/0x60
migratio-42        6d..2. 34251us : raw_spin_rq_unlock+0x0/0x20 <-active_load_balance_cpu_stop+0x278/0x2f0
migratio-42        6..... 34252us : _raw_spin_lock_irq+0x0/0x26 <-cpu_stopper_thread+0x30/0x120
migratio-42        6...1. 34252us : kthread_should_stop+0x0/0x30 <-smpboot_thread_fn+0x50/0x1d0
migratio-42        6...1. 34252us : kthread_should_park+0x0/0x30 <-smpboot_thread_fn+0x5d/0x1d0
migratio-42        6...1. 34252us : cpu_stop_should_run+0x0/0x50 <-smpboot_thread_fn+0x103/0x1d0
migratio-42        6...1. 34252us : _raw_spin_lock_irqsave+0x0/0x30 <-cpu_stop_should_run+0x2a/0x50
migratio-42        6d..2. 34252us : _raw_spin_unlock_irqrestore+0x0/0x20 <-cpu_stop_should_run+0x38/0x50
migratio-42        6..... 34253us : schedule+0x0/0xc0 <-smpboot_thread_fn+0x1c1/0x1d0
migratio-42        6d..1. 34253us : rcu_note_context_switch+0x0/0x100 <-__schedule+0x79/0x8f0
migratio-42        6d..1. 34253us : rcu_qs+0x0/0x60 <-rcu_note_context_switch+0xc/0x100
migratio-42        6d..2. 34253us : _raw_spin_lock+0x0/0x30 <-__schedule+0x88/0x8f0
migratio-42        6d..2. 34253us : update_rq_clock+0x0/0x50 <-__schedule+0xd7/0x8f0
migratio-42        6d..2. 34253us : update_rq_clock.part.126+0x0/0xb0 <-__schedule+0xd7/0x8f0
migratio-42        6d..2. 34253us : dequeue_task_stop+0x0/0x60 <-__schedule+0x4a6/0x8f0
migratio-42        6d..2. 34254us : balance_stop+0x0/0x20 <-__schedule+0x604/0x8f0
migratio-42        6d..2. 34254us : balance_dl+0x0/0x90 <-__schedule+0x604/0x8f0
migratio-42        6d..2. 34254us : balance_rt+0x0/0xa0 <-__schedule+0x604/0x8f0
migratio-42        6d..2. 34254us : put_prev_task_stop+0x0/0x130 <-__schedule+0x62c/0x8f0
migratio-42        6d..2. 34255us : pick_next_task_stop+0x0/0x70 <-__schedule+0x674/0x8f0
migratio-42        6d..2. 34255us : pick_next_task_dl+0x0/0x50 <-__schedule+0x674/0x8f0
migratio-42        6d..2. 34255us : pick_next_task_rt+0x0/0x1a0 <-__schedule+0x674/0x8f0
migratio-42        6d..2. 34255us : _pick_next_task_rt+0x0/0x50 <-pick_next_task_rt+0x1f/0x1a0
migratio-42        6d..2. 34255us : update_rt_rq_load_avg+0x0/0x2b0 <-pick_next_task_rt+0xc6/0x1a0
migratio-42        6d..3. 34255us : __schedule+0x365/0x8f0
migratio-42        6d..3. 34255us :       42:  0:S ==> [006]    4301:  0:R cyclictest
migratio-42        6d..3. 34260us : <stack trace>
 => __ftrace_trace_stack+0x12f/0x160
 => probe_wakeup_sched_switch+0x1fe/0x2a0
 => __schedule+0x365/0x8f0
 => schedule+0x41/0xc0
 => smpboot_thread_fn+0x1c1/0x1d0
 => kthread+0x16d/0x190
 => ret_from_fork+0x1f/0x30

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ