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

Jack Vogel jfvogel at
Tue Nov 6 18:03:10 PST 2007

On 11/6/07, Jack F Vogel <jfv at> wrote:
> jfv         2007-11-07 01:33:29 UTC
>   FreeBSD src repository
>   Modified files:        (Branch: RELENG_6)
>     sys/dev/em           if_em.c if_em.h
>   Log:
>   This delta addresses some users experiencing watchdogs under load with
>   the last driver version. I suspect sheduling to be at the bottom of it,
>   but this version fixes it by:
>           - Making FAST interrupt handling off by default, if you want
>           to use it #define EM_FAST_IRQ in the Makefile.
>           - Add dual locks, one for the TX subsystem, the other CORE
>           for things like init and interface managment.
>           - Add cleaner MSI/X setup code.
>           - If using FAST interrupts there is now a mechanism in the
>           watchdog routine to kick off TX cleanups if they have not
>           been scheduled.
>   I think everyone will be happier with this change.
>   Revision   Changes    Path
>  +327 -144  src/sys/dev/em/if_em.c
>   +16 -10    src/sys/dev/em/if_em.h

I should add that Mike Silbersack was responsible for the workaround
method used in the watchdog. Both Mike and Scott Long were helpful
in debugging and discussions solutions. Thanks guys.

I made this change now so that it gets some testing and we work out
any issues before 6.3.



More information about the cvs-src mailing list