cvs commit: src/sys/dev/smc if_smc.c if_smcvar.h
Benno Rice
benno at FreeBSD.org
Wed Jun 11 07:26:16 UTC 2008
benno 2008-06-11 07:26:02 UTC
FreeBSD src repository
Modified files:
sys/dev/smc if_smc.c if_smcvar.h
Log:
SVN rev 179719 on 2008-06-11 07:26:02Z by benno
Switch to using a normal mutex instead of a spin mutex.
We still use the interrupt filter due to performance problems that show up if
we don't. The main problem seen is that, due to the interrupt being edge
triggered, we occasionally miss interrupts which leads us to not notice that
we can transmit more packets. Using the new approach, which just schedules
a task on a taskqueue, we are guaranteed to have the task run even if the
interrupt arrived while we were already executing. If we were to use an
ithread the system would mask the interrupt while the handler is run and we'd
miss interrupts.
Revision Changes Path
1.3 +29 -15 src/sys/dev/smc/if_smc.c
1.3 +1 -7 src/sys/dev/smc/if_smcvar.h
More information about the cvs-all
mailing list