DragonFly-2.3.1.44.g79b38a master sys/kern kern_intr.c

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu May 14 04:04:20 PDT 2009


commit 79b38af28ede94a44548a7aa7d228d18f686b35a
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date:   Thu May 14 18:44:51 2009 +0800

    Use nq version of systimer_init_periodic() when initialize interrupt
    livelock avoidance systimer.
    
    The bug revealed itself as long time looping in the systimer_intr():
    The one shot timer interrupt handler is prevented from running for
    some time probably due to heavy interrupt load, and livelock avoidance
    systimer is setup using high frequency (40000Hz by default).  If non-nq
    version of systimer was used, then the main loop of systimer_intr()
    would try to keep running and reloading this systimer until the
    accumulated time caught up with the saved sys_cputimer count.
    
    Debug information provided by Jordan Gordeev <jgordeev at dir.bg>, he also
    helped to locate the systimer cause the long time looping.
    
    Tested-by: Jordan Gordeev <jgordeev at dir.bg>
    Approved-by: dillon@

Summary of changes:
 sys/kern/kern_intr.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/79b38af28ede94a44548a7aa7d228d18f686b35a


-- 
DragonFly BSD source repository





More information about the Commits mailing list