Date: Tue, 22 Dec 2009 20:11:56 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/ste if_ste.c if_stereg.h Message-ID: <200912222012.nBMKCF5l065546@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2009-12-22 20:11:56 UTC
FreeBSD src repository
Modified files:
sys/dev/ste if_ste.c if_stereg.h
Log:
SVN rev 200865 on 2009-12-22 20:11:56Z by yongari
Reimplement miibus_statchg method. Don't rely on link state change
interrupt. If we want to use link state change interrupt ste(4)
should also implement auto-negotiation complete handler as well as
various PHY access handling. Now link state change is handled by
mii(4) polling so it will automatically update link state UP/DOWN
events which in turn make ste(4) usable with lagg(4).
r199559 added a private timer to drive watchdog and the timer also
used to drive MAC statistics update. Because the MAC statistics
update is called whenever statistics counter reaches near-full, it
drove watchdog timer too fast such that it caused false watchdog
timeouts under heavy TX traffic conditions.
Fix the regression by separating ste_stats_update() from driving
watchdog timer and introduce a new function ste_tick() that handles
periodic job such as driving watchdog, MAC statistics update and
link state check etc.
While I'm here clear armed watchdog timer in ste_stop().
Revision Changes Path
1.14 +75 -48 src/sys/dev/ste/if_ste.c
1.7 +3 -4 src/sys/dev/ste/if_stereg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912222012.nBMKCF5l065546>
