Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2018 20:28:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-usb@FreeBSD.org
Subject:   [Bug 226968] IRQ storm on cpu0 timer when holding down key on USB keyboard
Message-ID:  <bug-226968-17-KaCU55HUmK@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-226968-17@https.bugs.freebsd.org/bugzilla/>
References:  <bug-226968-17@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D226968

--- Comment #6 from Johannes Lundberg <johalun0@gmail.com> ---
Here output from=20
# dtrace -n 'profile-997hz /arg0/ { @[func(arg0)]=3Dcount(); }'
run for about 10 seconds for each state=20

First idle state

-- SNIP --
  linux_common.ko`linux_kernver                                     1
  linux.ko`linux_gettimeofday                                       1
  linux.ko`linux_sendsig                                            1
  kernel`ithread_loop                                               2
  kernel`witness_checkorder                                         2
  kernel`witness_warn                                               2
  linux.ko`0xffffffff820c2f60                                       2
  kernel`_isitmyx                                                   3
  kernel`witness_unlock                                             4
  kernel`vt_fb_bitblt_bitmap                                       11
  kernel`spinlock_exit                                             11
  kernel`cpu_idle                                                  37
  kernel`acpi_cpu_idle                                          26778


And then with cpu0:timer firing at 800k/s

-- SNIP --
  kernel`pagezero                                                   1
  linux.ko`0xffffffff820c2f60                                       1
  kernel`vt_fb_bitblt_text                                          2
  kernel`vt_fb_bitblt_bitmap                                       11
  kernel`lock_mtx                                                  16
  kernel`lock_delay                                                21
  kernel`unlock_mtx                                                31
  kernel`cpu_idle                                                  55
  kernel`callout_when                                              57
  kernel`witness_lock                                              77
  kernel`callout_reset_sbt_on                                      85
  kernel`spinlock_enter                                            99
  kernel`__mtx_lock_spin_flags                                    103
  kernel`softclock_call_cc                                        118
  kernel`ukbd_timeout                                             119
  kernel`witness_checkorder                                       150
  kernel`__mtx_assert                                             155
  kernel`usbd_in_polling_mode                                     167
  kernel`__mtx_lock_flags                                         179
  kernel`__mtx_unlock_flags                                       180
  kernel`ukbd_interrupt                                           298
  kernel`memcpy                                                   313
  kernel`witness_unlock                                           318
  kernel`spinlock_exit                                          11745
  kernel`acpi_cpu_idle                                          45519

And some procstat -ak during irq storm

root@jd2:/usr/home/johannes # procstat -ak|grep 100023
   12 100023 intr                swi4: clock (0)     mi_switch ithread_loop
fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     <running>=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     callout_reset_sbt_on
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     <running>=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     ukbd_timeout
softclock_call_cc softclock intr_event_execute_handlers ithread_loop fork_e=
xit
fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     <running>=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     ukbd_interrupt
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     callout_reset_sbt_on
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     callout_reset_sbt_on
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     <running>=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     callout_reset_sbt_on
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     softclock
intr_event_execute_handlers ithread_loop fork_exit fork_trampoline=20
root@jd2:/usr/home/johannes # procstat -ak | grep 100023
   12 100023 intr                swi4: clock (0)     ukbd_interrupt
ukbd_timeout softclock_call_cc softclock intr_event_execute_handlers
ithread_loop fork_exit fork_trampoline

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-226968-17-KaCU55HUmK>