Subject: Re: consistent_free()

From: Tom Rini <[email-masked]>
Date: Fri, 14 Jun 2002 10:10:35 -0700

On Fri, Jun 14, 2002 at 12:44:03PM -0400, Dan Malek wrote:

[snip]
> The newer ARM version only allocates the number of pages necessary to
> cover the request.  The old version, and the one in PowerPC right now,
> would just use __get_free_pages, which was a power-of-two allocator.
> You could end up wasting lots of memory if you weren't allocating power of
> two sized buffers.  There were a couple of implementation iterations
> to make this work, and I guess this is where ARM ended up.  I think
> one version really wanted that page struct, but now it doesn't really
> matter.

I ended up noticing that myself, and have things almost right, I think
(patch shortly, if so..)

> >....  Dan?  Can we get some more insight
> >into the workings of your mind? :)
>
> I've been watching the ARM updates and plan to move their changes into
> the PowerPC sources.  I don't know why they don't call vfree() directly,
> I thought it did the proper clean up.

I'm not sure either.  __iounmap on ARM just is vfree() with the casts.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/