cvs commit: src/sys/dev/em if_em.c

Ruslan Ermilov ru at
Tue Aug 22 08:22:55 UTC 2006

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.

Ruslan Ermilov
ru at
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the cvs-src mailing list