On Tuesday 15 August 2006 02:49, Pyun YongHyeon wrote: > On Mon, Aug 14, 2006 at 01:30:37PM -0700, Matt Reimer wrote: > > On 8/13/06, Pyun YongHyeon <[EMAIL PROTECTED]> 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".
Hmm, well, I've already backported a lot of the changes in RELENG_6 to em(4) in RELENG_4 at work. I've got some more stuff to backport, but then I can apply this as well and see if folks want to test it. -- John Baldwin _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"