Date: Thu, 13 Feb 2014 10:05:18 -0800 From: Scott Long <scott4long@yahoo.com> To: Garrett Wollman <wollman@bimajority.org> Cc: FreeBSD Net <freebsd-net@freebsd.org>, John-Mark Gurney <jmg@funkthat.com> Subject: Re: Use of contiguous physical memory in cxgbe driver Message-ID: <5CAE71A4-EA1D-481D-AFBA-3738F8E66087@yahoo.com> In-Reply-To: <21245.1163.754141.154430@hergotha.csail.mit.edu> References: <21216.22944.314697.179039@hergotha.csail.mit.edu> <201402111348.52135.jhb@freebsd.org> <CAJ-VmonCdNQPUCQwm0OhqQ3Kt_7x6-g-JwGVZQfzWTgrDYfmqw@mail.gmail.com> <201402121446.19278.jhb@freebsd.org> <21244.20212.423983.960018@hergotha.csail.mit.edu> <20140213075651.GY34851@funkthat.com> <21245.1163.754141.154430@hergotha.csail.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Feb 13, 2014, at 9:44 AM, Garrett Wollman <wollman@bimajority.org> = wrote: > <<On Wed, 12 Feb 2014 23:56:51 -0800, John-Mark Gurney = <jmg@funkthat.com> said: >=20 >> Though we might want to keep a few mbufs reserved for receive now = that >> you mention it... We should never get to the point where we can't >> allocate even one frame for receive... >=20 > It's very easy to get to that state if the driver insists on getting > three physically contiguous pages (which is what it takes to allocate > a single 9k cluster) >=20 So what you=92re saying is that all of the other memory allocations that = go along with moving data through a socket wind up fragmenting the free memory pool to = the point where it becomes impossible to find 3 contig pages for a 9k jumbo RX = frame. The old Tigon drivers used to solve this by having a private slab = allocator for RX. There was deliberate work more than 5 years ago to eliminate private = allocators like this and have a common jumbo allocator. I think it=92s possible to = say that that has been a theoretical success and a practical failure. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5CAE71A4-EA1D-481D-AFBA-3738F8E66087>