cvs commit: src/sys/dev/em if_em.c if_em.h
Pyun YongHyeon
pyunyh at gmail.com
Tue Aug 15 06:48:20 UTC 2006
On Mon, Aug 14, 2006 at 01:30:37PM -0700, Matt Reimer wrote:
> On 8/13/06, Pyun YongHyeon <yongari at 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
More information about the cvs-src
mailing list