bce0: Error mapping mbuf into TX chain!
Pyun YongHyeon
pyunyh at gmail.com
Tue Aug 8 00:34:04 UTC 2006
On Mon, Aug 07, 2006 at 01:48:09PM -0700, David (Controller AE) Christensen wrote:
> Scott,
>
> What are you doing when this problem occurs? Is it something I can
> easily duplicate here? When I tested the fix on -CURRENT I used the
> following command suggested by Doug to bring out the failure quickly:
>
> ssh <bad machine> "dd if=/dev/zero bs=1" > /dev/null
>
> Does this same command fail for you too?
>
Since BCE_MAX_SEGMENTS is too small I guess it will happen on highly
fragmented packets under heavy loads. To simulate the situation
you can use m_fragment(9) to fragment the frame in bce_tx_encap().
With m_fragment(9), "ping -f -s 65507 x.x.x.x" may trigger it.
Btw, I've never seen this small number of Tx DMA segments support(
BCE_MAX_SEGMENTS == 8) on GigE. Is this hardware limitation?
> Dave
>
> > -----Original Message-----
> > From: Scott Wilson [mailto:scott.wilson at gmail.com]
> > Sent: Saturday, August 05, 2006 3:08 PM
> > To: pyunyh at gmail.com
> > Cc: Doug Ambrisko; David (Controller AE) Christensen;
> > stable at freebsd.org; davidch at freebsd.org; Eric Hodel
> > Subject: Re: Re: Re: bce0: Error mapping mbuf into TX chain!
> >
> > On 8/5/06, Pyun YongHyeon <pyunyh at gmail.com> wrote:
> > > On Fri, Aug 04, 2006 at 03:52:40PM +0200, Scott Wilson wrote:
> > > > On 7/13/06, Doug Ambrisko <ambrisko at ambrisko.com> wrote:
> > > > >David (Controller AE) Christensen writes:
> > > > >| Sorry, I've been out on vacation and just got back
> > into town. I'll MFC
> > > > >| the patch within the next day or two.
> > > > >
> > > > >I'll let you merge in the down/up fix that I put into -current.
> > > > >
> > > > >Doug A.
> > > >
> > > > Hi, I just had a bce interface lock up with the same problem:
> > > >
> > > > Aug 4 07:00:16 pe3 kernel: bce0:
> > /usr/src/sys/dev/bce/if_bce.c(4644):
> > > > Error mapping mbuf into TX chain!
> > > > Aug 4 07:00:47 pe3 last message repeated 368 times
> > > > ....
> > > >
> > > > running v 1.2.2.5 of if_bce.c from RELENG_6 which has the
> > > > defragmentation patch mentioned in this thread. Any
> > suggestions on
> > > > how I can help find a fix?
> > > >
> > > > scott
> > >
> > > Hmm... I can see several bus_dma(9) related bugs in bce(4).
> > > For architectures that have IOMMU hardware it may have corrupted DMA
> > > mapping and I'm pretty sure it wouldn't work on sparc64.
> > > When it has to handle many fragmented frame or has insufficient
> > > number of free Tx descriptors it would show unexpected results.
> > > Unfortunately I don't have hardwares supported by bce(4) and
> > > fixing requiries a working hardware. :-(
> > >
> >
> > I see ... I am running amd64 on some dell poweredge 1950 boxes.
> > They're xeon processors, but have chosen amd64 because they have 8gig
> > of ram each.
> >
> > Here are the relevant details on the interface....
> >
> > bce0: <Broadcom NetXtreme II BCM5708 1000Base-T (B1), v0.9.5> mem
> > 0xf4000000-0xf5ffffff irq 16 at device 0.0 on pci9
> > bce0: ASIC ID 0x57081010; Revision (B1); PCI-X 64-bit 133MHz
> > miibus0: <MII bus> on bce0
> > brgphy0: <BCM5708C 10/100/1000baseTX PHY> on miibus0
> > brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX,
> > 1000baseTX-FDX, auto
> >
> > I could make a machine available remotely to someone if it would help.
> >
> > Any other advice on how I can help move this forward would be greatly
> > appreciated!
> >
> > thanks,
> >
> > scott
> >
> >
>
>
--
Regards,
Pyun YongHyeon
More information about the freebsd-stable
mailing list