Date: Sun, 15 Dec 2002 08:13:08 -0800 From: Maxime Henrion <mux@freebsd.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Christian Weisgerber <naddy@mips.inka.de>, freebsd-alpha@FreeBSD.ORG Subject: Re: cvs commit: www/en/projects/busdma index.sgml style.css (fwd) Message-ID: <20021215161308.GL27086@elvis.mu.org> In-Reply-To: <15867.61754.299505.858101@grasshopper.cs.duke.edu> References: <Pine.NEB.3.96L.1021209130854.19409C-100000@fledge.watson.org> <20021209194400.GA27086@elvis.mu.org> <15860.62239.549294.224934@grasshopper.cs.duke.edu> <20021214152341.GE27086@elvis.mu.org> <atgnee$p9$1@kemoauc.mips.inka.de> <15867.61754.299505.858101@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin wrote: > > Christian Weisgerber writes: > > All mbufs or mbuf clusters exhausted, please see tuning(7). > > I have > > xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0x10000-0x1007f mem 0x41322000-0x4132 207f irq 10 at device 11.0 on pci0 > > So the problem must be in the code path for the older cards.. > (my 905B uses different transmit and encap functions) > > Ah, I see it. The mbuf does not seem to be recorded in the ring if > the dmamap_load_mbuf succeeds in xl_encap(). Can you try the > following untested patch, please? (on top of Maxime's earlier patch). > > Interesting.. I see one nasty pre-existing condition that might cause > a memory leak. What happens if xl_encap() fails? Ugh, that should > be fixed too! I have uploaded a new patch. It should fix the mbuf leak problem, makes it so bus_dmamap_create() and bus_dmamap_destroy() are called only one time and not everytime we map a new mbuf as you suggested, adds some missing error handling in the xl_encap() and xl_encap_90xB() functions and fixes a few minor nits. The URL is still http://mu.org/~mux/if_xl.patch. If people with cards prior than 90xB could test it, it would help me a lot since I don't have any of those cards. Also, I'm interested in benchmarks before/after applying this patch. I think and hope there shouldn't be any measurable difference :-). Cheers, Maxime To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021215161308.GL27086>