From owner-freebsd-net@FreeBSD.ORG Mon Jun 4 08:48:38 2012 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2EE71065670; Mon, 4 Jun 2012 08:48:38 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [64.62.153.212]) by mx1.freebsd.org (Postfix) with ESMTP id 91C878FC1E; Mon, 4 Jun 2012 08:48:38 +0000 (UTC) Received: from delta.delphij.net (unknown [IPv6:2001:470:83bf:0:221:5cff:fe6a:37bb]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by anubis.delphij.net (Postfix) with ESMTPSA id 0312FD0B8; Mon, 4 Jun 2012 01:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=delphij.net; s=anubis; t=1338799712; bh=4k/IF/Z6KfTZYxC1vIgcyOFgdTFsks1zhzFnP/G9dBo=; h=Date:From:Reply-To:To:CC:Subject:References:In-Reply-To; b=4xkHa3CYiLffWXoY838jBqdVzeFjulYuw6qc3mfBZn6GFUPEHzKRlRkiezNE5ShS9 FAjT5VpN9tWbYkDdgCgpBrUvF0u9Xd0Hj/thLKb6KR0BKsWYrKt8wQmdtslMOgrGUC tmgox01X0/bnWGGB1GHTr9E0JZx3sbmfIh5tSHzU= Message-ID: <4FCC7650.4040902@delphij.net> Date: Mon, 04 Jun 2012 01:48:16 -0700 From: Xin Li Organization: The FreeBSD Project MIME-Version: 1.0 To: pyunyh@gmail.com References: <201205221037.q4MAbhhP008810@freefall.freebsd.org> <4FBBCE08.1080502@delphij.net> <20120605003239.GA4010@michelle.cdnetworks.com> In-Reply-To: <20120605003239.GA4010@michelle.cdnetworks.com> X-Enigmail-Version: 1.4.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jun 2012 08:48:38 -0000 -----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? Cheers, - -- Xin LI https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBCAAGBQJPzHZQAAoJEG80Jeu8UPuzBBAIAL1Q/Nt+e5okB+8EB/Ah7Gkm +4OT+Y2vB/eW+vP8HgOKsbtE6dJ3w6saTUP0RGPekpeLfdvUVxSfL1lVOCvDPyic 8IoftFoHsSOanfisrTPTiHJet2m2fYOywHPx4tfAXvYvyQON48YHRRugDaQW6WPz azzOVHY27J4Zf2UGqDrbTY5m8yWx8MCePJ3fsBKLcY6RDLHOVpE58ebW+LfNZ9RQ fdZPkRTXcAcvZo8Cgv2F5lo6PdRv6C5MoWgk37rR24DZD3bVcXFCM7qRrkd86TqH OY7mNjfC0QqTDgv/EKty//TtA8C0IO5iu0mRI71ONDKEEte73RiqMz1dC43IEnE= =inpj -----END PGP SIGNATURE-----