cvs commit: src/sys/dev/em if_em.c
ru at FreeBSD.org
Tue Aug 22 08:22:55 UTC 2006
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
> 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
> 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.
ru at FreeBSD.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20060822/3d0e090e/attachment.pgp
More information about the cvs-src