From owner-freebsd-amd64@FreeBSD.ORG  Wed Jan 10 02:42:49 2007
Return-Path: <owner-freebsd-amd64@FreeBSD.ORG>
X-Original-To: freebsd-amd64@freebsd.org
Delivered-To: freebsd-amd64@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 3B3FD16A517;
	Wed, 10 Jan 2007 02:42:49 +0000 (UTC) (envelope-from bde@zeta.org.au)
Received: from mailout1.pacific.net.au (mailout1-3.pacific.net.au [61.8.2.210])
	by mx1.freebsd.org (Postfix) with ESMTP id 0206913C4C9;
	Wed, 10 Jan 2007 02:42:49 +0000 (UTC) (envelope-from bde@zeta.org.au)
Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au
	[61.8.2.163])
	by mailout1.pacific.net.au (Postfix) with ESMTP id BC25E3282F3;
	Wed, 10 Jan 2007 13:42:47 +1100 (EST)
Received: from besplex.bde.org (katana.zip.com.au [61.8.7.246])
	by mailproxy2.pacific.net.au (Postfix) with ESMTP id 9B79E2741B;
	Wed, 10 Jan 2007 13:42:46 +1100 (EST)
Date: Wed, 10 Jan 2007 13:42:45 +1100 (EST)
From: Bruce Evans <bde@zeta.org.au>
X-X-Sender: bde@besplex.bde.org
To: John Baldwin <jhb@freebsd.org>
In-Reply-To: <200701091150.15274.jhb@freebsd.org>
Message-ID: <20070110132839.X16378@besplex.bde.org>
References: <1168211205.22629.6.camel@lanshark.dmv.com>
	<20070109124826.M79616@delplex.bde.org>
	<1168353425.29047.8.camel@lanshark.dmv.com>
	<200701091150.15274.jhb@freebsd.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
Cc: stable@freebsd.org, freebsd-amd64@freebsd.org
Subject: Re: Panic in 6.2-PRERELEASE with bge on amd64
X-BeenThere: freebsd-amd64@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Porting FreeBSD to the AMD64 platform <freebsd-amd64.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-amd64>,
	<mailto:freebsd-amd64-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-amd64>
List-Post: <mailto:freebsd-amd64@freebsd.org>
List-Help: <mailto:freebsd-amd64-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-amd64>,
	<mailto:freebsd-amd64-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jan 2007 02:42:49 -0000

On Tue, 9 Jan 2007, John Baldwin wrote:

> On Tuesday 09 January 2007 09:37, Sven Willenberger wrote:
>> On Tue, 2007-01-09 at 12:50 +1100, Bruce Evans wrote:
>>> Oops.  I should have asked for the statment in bge_rxeof().
>>
>> #7  0xffffffff801d5f17 in bge_rxeof (sc=0xffffffff8836b000)
> at /usr/src/sys/dev/bge/if_bge.c:2528
>> 2528                    m->m_pkthdr.len = m->m_len = cur_rx->bge_len -
> ETHER_CRC_LEN;
>>
>> (where m is defined as:
>> 2449                 struct mbuf             *m = NULL;
>> )
>
> It's assigned earlier in between those two places.

Its initialization here is just a style bug.

> Can you 'p rxidx' as well
> as 'p sc->bge_cdata.bge_rx_std_chain[rxidx]' and 'p
> sc->bge_cdata.bge_rx_jumbo_chain[rxidx]'?  Also, are you using jumbo frames
> at all?

Also look at nearby chain entries (especially at (rxidx - 1) mod 512)).
I think the previous 255 entries and the rxidx one should be
non-NULL since we should have refilled them as we used them (so the
one at rxidx is least interesting since we certainly just refilled
it), and the next 256 entries should be NULL since we bogusly only use
half of the entries.  If the problem is uninitialization, then I expect
all 512 entries except the one just refilled at rxidx to be NULL.

Bruce