Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Aug 2006 15:49:43 +0900
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Matt Reimer <mattjreimer@gmail.com>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Pyun YongHyeon <yongari@freebsd.org>
Subject:   Re: cvs commit: src/sys/dev/em if_em.c if_em.h
Message-ID:  <20060815064943.GA41815@cdnetworks.co.kr>
In-Reply-To: <f383264b0608141330p5ca124b8y6c4f2034a4b3eac4@mail.gmail.com>
References:  <200608140150.k7E1osuf005683@repoman.freebsd.org> <f383264b0608141330p5ca124b8y6c4f2034a4b3eac4@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 14, 2006 at 01:30:37PM -0700, Matt Reimer wrote:
 > On 8/13/06, Pyun YongHyeon <yongari@freebsd.org> wrote:
 > >yongari     2006-08-14 01:50:54 UTC
 > >
 > >  FreeBSD src repository
 > >
 > >  Modified files:
 > >    sys/dev/em           if_em.c if_em.h
 > >  Log:
 > >  Overhaul Rx path to recover from mbuf cluster allocation failure.
 > >   o Create one more spare DMA map for Rx handler to recover from
 > >     bus_dmamap_load_mbuf_sg(9) failure.
 > >   o Make sure to update status bit in Rx descriptors even if we failed
 > >     to allocate a new buffer. Previously it resulted in stuck condition
 > >     and em_handle_rxtx task took up all available CPU cycles.
 > [snip]
 > 
 > Is it possible that the RELENG_4 if_em driver would suffer from the
 > same problems, particularly the stuck/CPU-chewing problem?
 > 

I think the problem exist in RELENG_4 too. If em_get_buf() fails em(4)
exits main Rx loop but still does not update status bits in the Rx
descriptor. I think you can easily experiment the problem with
"kern.ipc.nmbclusters".

 > Matt

-- 
Regards,
Pyun YongHyeon



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