cvs commit: src/sys/i386/isa intr_machdep.c src/sys/kern kern_intr.c src/sys/sys interrupt.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Oct 25 17:58:58 PDT 2005
dillon 2005/10/25 17:55:20 PDT
DragonFly src repository
Modified files:
sys/i386/isa intr_machdep.c
sys/kern kern_intr.c
sys/sys interrupt.h
Log:
Redo the interrupt livelock code. Simplify the frequency calculations
and add a 1-second stabilization requirement before a livelock is removed.
Fix a bug that prevented the code from actually limiting the interrupt rate
properly.
Greatly simplify ithread_done() and rename it to ithread_unmask(). It is
no longer responsible for putting the interrupt thread to sleep.
There is one issue left and that is the livelock code must re-enable the
interrupt at the limit frequency in order to detect when the actual
interrupt rate falls below the low water mark. In a livelocked situation
the actual interrupt rate will be about 2x the livelock limit because
both the systimer interrupt and the livelocked interrupt will be running.
Revision Changes Path
1.34 +12 -0 src/sys/i386/isa/intr_machdep.c
1.28 +123 -111 src/sys/kern/kern_intr.c
1.12 +1 -1 src/sys/sys/interrupt.h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.c.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_intr.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/interrupt.h.diff?r1=1.11&r2=1.12&f=u
More information about the Commits
mailing list