Hi Pyun, On Tue, Aug 22, 2006 at 02:32:48AM +0000, Pyun YongHyeon wrote: > yongari 2006-08-22 02:32:48 UTC > > FreeBSD src repository > > Modified files: > sys/dev/em if_em.c > Log: > It seems that em(4) misses Tx completion interrupts under certain > conditions. The cause of missing Tx completion interrupts comes from > Tx interrupt moderation mechanism(delayed interrupts) or chipset bug. > If Tx interrupt moderation mechanism is the cause of false watchdog > timeout error we should have to fix all device drivers that have Tx > interrupt moderation capability. We may need more investigation > for this issue. Anyway, the fix is the same for both cases. > > This should fix occasional watchdog timeout errors seen on a few > systems. > > Reported by: -net, Patrick M. Hausen < hausen AT punkt DOT de > > Tested by: Patrick M. Hausen < hausen AT punkt DOT de > > > Revision Changes Path > 1.133 +12 -0 src/sys/dev/em/if_em.c > I agree this is a less painful way to recover, but it's still a watchdog and it slows down the performance when it happens. After this commit, if there's a moderate number of missing Tx completion interrupts (for some reason), even a diagnostic message won't be printed. This is bad -- users will "seem" to have working but slow systems, without any indication of what causes this slowness. I think a diagnostic message should still be printed in this case, and adapter->watchdog_events should still be incrementd, we just don't need to reinit the chip in this case.
Cheers, -- Ruslan Ermilov [EMAIL PROTECTED] FreeBSD committer
pgp9Dqp6aGltP.pgp
Description: PGP signature