Date: Mon, 4 Jun 2012 18:04:08 -0700 From: YongHyeon PYUN <pyunyh@gmail.com> To: Xin Li <delphij@delphij.net> Cc: nemoliu@FreeBSD.org, freebsd-net@FreeBSD.org, d@delphij.net, delphij@FreeBSD.org, yongari@FreeBSD.org Subject: Re: kern/168217: [bce] Watchdog timeouts with bce(4) on BCM5716 Message-ID: <20120605010408.GC4010@michelle.cdnetworks.com> In-Reply-To: <4FCC7650.4040902@delphij.net> References: <201205221037.q4MAbhhP008810@freefall.freebsd.org> <4FBBCE08.1080502@delphij.net> <20120605003239.GA4010@michelle.cdnetworks.com> <4FCC7650.4040902@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 04, 2012 at 01:48:16AM -0700, Xin Li wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > On 06/04/12 17:32, YongHyeon PYUN wrote: > > On Tue, May 22, 2012 at 10:34:00AM -0700, Xin Li wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 > >> > >> On 05/22/12 03:37, yongari@FreeBSD.org wrote: > >>> Your release information(i386) and environment(amd64) does not > >>> match. Are you using i386 or PAE? > >> > >> Sorry if there is mismatch then it must be I didn't cleared out > >> freefall information properly. The system is running > >> FreeBSD/amd64 and not i386 nor PAE. > >> > >>> Having backtrace would be nice. > >> > >> Will do. > >> > >>> It seems you have two differnt controllers(5716 and 5709). Does > >>> the issue happen only on 5716? > >> > >> We have not yet tested on the 5709 part as they are not > >> connected. > >> > >> By the way there are some updates from yesterday. Disabling > >> hdr_split did not helped and the system stops responding again; > >> disabling both hdr_split and tso seems to make the system survive > >> after 8 hours, we will continue to watch it and report back if > >> new information available. > >> > >> Another thing to note is that we found that on systems that does > >> not exhibit the same problem, they have oui=0x50ef for the four > >> brgphy's, and on this system the four have oui=0xaf7 (brgphy0 > >> pnpinfo oui=0xaf7 model=0x3c rev=0x8 at phyno=1). Not sure if > >> this is related though. > >> > > > > Xin, I'm under the impression that bce_intr() might be called when > > IFF_DRV_RUNNING is not set. Could you check whether > > sc->bce_ifp->if_drv_flags set IFF_DRV_RUNNING in bce_intr()? Sorry, > > one of my box that can host quad-port bce(4) controller died so I > > can't verify this at the moment until I get a new MB. > > I've made the following change: > > Index: sys/dev/bce/if_bce.c > =================================================================== > - --- sys/dev/bce/if_bce.c (revision 233291) > +++ sys/dev/bce/if_bce.c (working copy) > @@ -7678,6 +7678,9 @@ bce_intr(void *xsc) > > BCE_LOCK(sc); > > + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != IFF_DRV_RUNNING) > + BCE_PRINTF("Got interrupt without IFF_DRV_RUNNING!\n"); > + > DBRUN(sc->interrupts_generated++); > > /* Synchnorize before we read from interface's status block */ > > Should we run with that and see if we can catch something? I think you don't need the full message, just a single byte of character, say 'I', could be used to indicate the condition. > > Cheers,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120605010408.GC4010>