Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Oct 2007 09:23:16 -0700
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        freebsd-current@freebsd.org, JoaoBR <joao@matik.com.br>
Subject:   Re: panic in 8-CURRENT  / BGE hang
Message-ID:  <20071024162316.GA7625@troutmask.apl.washington.edu>
In-Reply-To: <200710241142.58329.jkim@FreeBSD.org>
References:  <4712A4A8.7080503@FreeBSD.org> <040e01c81587$a47f6600$ed7e3200$@co.uk> <200710240450.44314.joao@matik.com.br> <200710241142.58329.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 24, 2007 at 11:42:55AM -0400, Jung-uk Kim wrote:
> On Wednesday 24 October 2007 02:50 am, JoaoBR wrote:
> >
> > so that is the reason then that bge hangs with 7 with the same
> > if_bge.c version as releng_6
> >
> > because hw.bge.allow_asf defaults to 0 in releng_6 and to 1 in 7
> >
> > somebody knows why this changed? Would be kind of handy if this
> > where in the man page since almost all tyans and other server
> > boards have this bge nics
> 
> When I MFC'd bge(4) on RELENG_6, I decided to turn it off by default.  
> See the diff between RELENG_6 and MFC point:
> 
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c.diff?r2=1.91.2.21;r1=1.186
> 
> Since RELENG_7 is branched, I think we should do the same on the 
> branch as well.
> 

So, what exactly does hw.bge.allow_asf do?  I've been running 
-current on several different tyan boards with on-board bge 
devices for the last few years without a hanging problem.
I just checked and found hw.bge.allow_asf=1.

I do see the infamous "bge0 watchdog timeout" problem, which can
be mitigatedi, but not eliminated, byx

Index: bge/if_bge.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v
retrieving revision 1.198
diff -u -p -r1.198 if_bge.c
--- bge/if_bge.c        30 Sep 2007 11:05:14 -0000      1.198
+++ bge/if_bge.c        24 Oct 2007 16:26:41 -0000
@@ -2454,9 +2454,9 @@ bge_attach(device_t dev)
        /* Set default tuneable values. */
        sc->bge_stat_ticks = BGE_TICKS_PER_SEC;
        sc->bge_rx_coal_ticks = 150;
-       sc->bge_tx_coal_ticks = 150;
-       sc->bge_rx_max_coal_bds = 10;
-       sc->bge_tx_max_coal_bds = 10;
+       sc->bge_tx_coal_ticks = 1500000;
+       sc->bge_rx_max_coal_bds = 32;
+       sc->bge_tx_max_coal_bds = 300;
 
        /* Set up ifnet structure */
        ifp = sc->bge_ifp = if_alloc(IFT_ETHER);
Index: bge/if_bgereg.h
===================================================================
RCS file: /home/ncvs/src/sys/dev/bge/if_bgereg.h,v
retrieving revision 1.73
diff -u -p -r1.73 if_bgereg.h
--- bge/if_bgereg.h     22 May 2007 19:22:58 -0000      1.73
+++ bge/if_bgereg.h     24 Oct 2007 16:26:42 -0000
@@ -2342,7 +2342,7 @@ struct bge_gib {
  * allocated for the standard, mini and jumbo receive rings.
  */
 
-#define        BGE_SSLOTS      256
+#define        BGE_SSLOTS      512
 #define        BGE_MSLOTS      256
 #define        BGE_JSLOTS      384

-- 
Steve



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071024162316.GA7625>