cvs commit: src/sys/dev/em if_em.c if_em.h
jfvogel at gmail.com
Tue Nov 6 18:03:10 PST 2007
On 11/6/07, Jack F Vogel <jfv at freebsd.org> 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
> 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
> 220.127.116.11 +327 -144 src/sys/dev/em/if_em.c
> 18.104.22.168 +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