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

Gleb Smirnoff glebius at
Tue Aug 22 15:32:18 UTC 2006

On Tue, Aug 22, 2006 at 10:26:02AM -0500, Eric Anderson wrote:
E> On 08/22/06 10:23, Gleb Smirnoff wrote:
E> >On Tue, Aug 22, 2006 at 02:32:48AM +0000, Pyun YongHyeon wrote:
E> >P> yongari     2006-08-22 02:32:48 UTC
E> >P> 
E> >P>   FreeBSD src repository
E> >P> 
E> >P>   Modified files:
E> >P>     sys/dev/em           if_em.c 
E> >P>   Log:
E> >P>   It seems that em(4) misses Tx completion interrupts under certain
E> >P>   conditions. The cause of missing Tx completion interrupts comes from
E> >P>   Tx interrupt moderation mechanism(delayed interrupts) or chipset bug.
E> >P>   If Tx interrupt moderation mechanism is the cause of false watchdog
E> >P>   timeout error we should have to fix all device drivers that have Tx
E> >P>   interrupt moderation capability. We may need more investigation
E> >P>   for this issue. Anyway, the fix is the same for both cases.
E> >P>   
E> >P>   This should fix occasional watchdog timeout errors seen on a few
E> >P>   systems.
E> >P>   
E> >P>   Reported by:    -net, Patrick M. Hausen < hausen AT punkt DOT de >
E> >P>   Tested by:      Patrick M. Hausen < hausen AT punkt DOT de >
E> >
E> >This look like a workaround, not a fix the root of the problem. Several
E> >people on net said that this problem disappears if debug.mpsafenet=0.
E> >So I think there is a problem in FreeBSD or driver, not in chip.
E> And it also worked perfectly for a very very long time until 6.x tree. 
E> I went from 5-STABLE to 6-STABLE and started seeing it a lot ( a few 
E> times per day) on a couple servers.

In 5-STABLE the watchdog events were not logged, but the watchdog was

Totus tuus, Glebius.

More information about the cvs-src mailing list