From: Dan Malek <dan@embeddededge.com>
To: Paul Mackerras <paulus@samba.org>
Cc: Tom Rini <trini@kernel.crashing.org>,
linuxppc-embedded@lists.linuxppc.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: consistent_free()
Date: Sat, 15 Jun 2002 02:42:54 -0400 [thread overview]
Message-ID: <3D0AE1EE.201@embeddededge.com> (raw)
In-Reply-To: 15626.55930.673731.803194@argo.ozlabs.ibm.com
Paul Mackerras wrote:
> Interesting. Using __get_free_pages guarantees that the pages are
> physically contiguous. Does the new ARM version do something clever
> to get physically contiguous pages?
The __get_free_pages just does an alloc_pages(). The only difference
is __get_free_pages returns the page address of the first page. I
think there was a previous version that used page structs to return
unused pages so it was just more convenient to call alloc_pages() directly.
In fact, I guess this is the current implementation.
Oh, I see now........they set the Reserved indicator on pages they allocate.
This is why they can't just vfree() the space anymore. Pretty sneaky, this
way an application can also mmap() the space and driver can do DMA from
user space. What a f**king hack when you don't have the features you need
to do it correctly.
> .... Or do the callers have to do a
> scatter/gather type of operation if they are using more than 1 page?
No, you still get consecutive physical pages based on the order parameter.
-- Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2002-06-15 6:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-14 4:29 consistent_free() David Gibson
2002-06-14 5:57 ` consistent_free() David Gibson
2002-06-24 2:15 ` consistent_free() David Gibson
2002-06-25 14:39 ` consistent_free() Tom Rini
2002-06-26 5:17 ` consistent_free() David Gibson
2002-06-26 5:33 ` consistent_free() Dan Malek
2002-06-26 5:59 ` consistent_free() David Gibson
2002-06-26 14:32 ` consistent_free() Paul Mackerras
2002-06-27 2:42 ` consistent_free() David Gibson
2002-06-14 15:39 ` consistent_free() Tom Rini
2002-06-14 16:44 ` consistent_free() Dan Malek
2002-06-14 17:10 ` consistent_free() Tom Rini
2002-06-14 21:34 ` consistent_free() Dan Malek
2002-06-15 6:11 ` consistent_free() Paul Mackerras
2002-06-15 6:42 ` Dan Malek [this message]
2002-06-15 10:02 ` consistent_free() Paul Mackerras
2002-06-15 13:51 ` consistent_free() Dan Malek
2002-06-15 6:02 ` consistent_free() Paul Mackerras
2002-06-15 6:27 ` consistent_free() Dan Malek
2002-06-15 6:57 ` consistent_free() David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D0AE1EE.201@embeddededge.com \
--to=dan@embeddededge.com \
--cc=david@gibson.dropbear.id.au \
--cc=linuxppc-embedded@lists.linuxppc.org \
--cc=paulus@samba.org \
--cc=trini@kernel.crashing.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).