It was brought to my attention traces from the buggy execution.

>From the perf statistics:

    201054.649876      task-clock (msec)         #    0.999 CPUs utilized       
   
             9,547      context-switches          #    0.047 K/sec              
    
                 6      cpu-migrations            #    0.000 K/sec              
    
             6,427      page-faults               #    0.032 K/sec              
    
   777,038,506,852      cycles                    #    3.865 GHz                
     [66.66%]
     1,799,766,809      stalled-cycles-frontend   #    0.23% frontend cycles 
idle    [50.00%]
   518,104,985,732      stalled-cycles-backend    #   66.68% backend  cycles 
idle    [50.01%]
   819,194,804,419      instructions              #    1.05  insns per cycle    
    
                                                  #    0.63  stalled cycles per 
insn [66.67%]
    90,811,473,192      branches                  #  451.676 M/sec              
     [50.00%]
     2,203,470,400      branch-misses             #    2.43% of all branches    
     [49.99%]

     201.248973668 seconds time elapsed

**** We had 6 cpu-migrations.

>From tracing the execution we had exactly 6 set_task_cpus coming from
bottom halves (from the IRQ handler):

# coming from interrupt handler (1)

    blackscholes-15443 [000]  5599.360541: function:             set_task_cpu
    blackscholes-15443 [000]  5599.360543: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> process_timeout (c00000000013f2e8)
=> call_timer_fn (c00000000013f154)
=> run_timer_softirq (c00000000013fd9c)
=> __do_softirq (c0000000000b5854)
=> irq_exit (c0000000000b5e28)
=> timer_interrupt (c00000000001fb94)
=> decrementer_common (c000000000002758)
    
 # coming from interrupt handler (2)

    blackscholes-15443 [000]  5600.800540: function:             set_task_cpu
    blackscholes-15443 [000]  5600.800542: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> commit_timeout (c0000000003d52f8)
=> call_timer_fn (c00000000013f154)
=> run_timer_softirq (c00000000013fd9c)
=> __do_softirq (c0000000000b5854)
=> irq_exit (c0000000000b5e28)
=> timer_interrupt (c00000000001fb94)
=> decrementer_common (c000000000002758)

# coming from interrupt handler (3)

    blackscholes-15443 [000]  5603.840601: function:             set_task_cpu
    blackscholes-15443 [000]  5603.840603: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> hrtimer_wakeup (c000000000141a2c)
=> __run_hrtimer (c000000000141798)
=> hrtimer_interrupt (c0000000001427f8)
=> __timer_interrupt (c00000000001f480)
=> timer_interrupt (c00000000001fb90)
=> decrementer_common (c000000000002758)

# coming from interrupt handler (4)

    blackscholes-15444 [000]  5629.340575: function:             set_task_cpu
    blackscholes-15444 [000]  5629.340577: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> wake_up_worker (c0000000000cf004)
=> __queue_work (c0000000000d1a0c)
=> queue_delayed_work_on (c0000000000d2244)
=> bnx2x_schedule_sp_task (d00000001bbe28cc)
=> bnx2x_msix_sp_int (d00000001bbfa200)
=> handle_irq_event_percpu (c0000000001287d0)
=> handle_irq_event (c000000000128ab8)
=> handle_fasteoi_irq (c00000000012cf74)
=> generic_handle_irq (c0000000001279c8)
=> __do_irq (c000000000010f60)
=> call_do_irq (c0000000000248ac)
=> do_IRQ (c000000000011150)
=> hardware_interrupt_common (c0000000000025d8)

# coming from interrupt handler (5)

    blackscholes-15444 [000]  5636.625580: function:             set_task_cpu
    blackscholes-15444 [000]  5636.625582: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> hrtimer_wakeup (c000000000141a2c)
=> __run_hrtimer (c000000000141798)
=> hrtimer_interrupt (c0000000001427f8)
=> __timer_interrupt (c00000000001f480)
=> timer_interrupt (c00000000001fb90)
=> decrementer_common (c000000000002758)

# coming from interrupt handler (6)

    blackscholes-15444 [000]  5640.856531: function:             set_task_cpu
    blackscholes-15444 [000]  5640.856533: kernel_stack:         <stack trace>
=> set_task_cpu (c0000000000eaa48)
=> try_to_wake_up (c0000000000ee998)
=> process_timeout (c00000000013f2e8)
=> call_timer_fn (c00000000013f154)
=> run_timer_softirq (c00000000013fd9c)
=> __do_softirq (c0000000000b5854)
=> irq_exit (c0000000000b5e28)
=> timer_interrupt (c00000000001fb94)
=> decrementer_common (c000000000002758)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1575407

Title:
  Trusty + 3.19 (lts-vivid) PERF wrong cpu-migration counter

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1575407/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to