From: Andrew Morton <akpm@osdl.org>
To: Mel Gorman <mel@csn.ul.ie>
Cc: clameter@sgi.com,
Linux Memory Management List <linux-mm@kvack.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Add __GFP_MOVABLE for callers to flag allocations that may be migrated
Date: Fri, 1 Dec 2006 11:01:03 -0800 [thread overview]
Message-ID: <20061201110103.08d0cf3d.akpm@osdl.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0612010948320.32594@skynet.skynet.ie>
On Fri, 1 Dec 2006 09:54:11 +0000 (GMT)
Mel Gorman <mel@csn.ul.ie> wrote:
> >> @@ -65,7 +65,7 @@ static inline void clear_user_highpage(s
> >> static inline struct page *
> >> alloc_zeroed_user_highpage(struct vm_area_struct *vma, unsigned long vaddr)
> >> {
> >> - struct page *page = alloc_page_vma(GFP_HIGHUSER, vma, vaddr);
> >> + struct page *page = alloc_page_vma(GFP_HIGH_MOVABLE, vma, vaddr);
> >>
> >> if (page)
> >> clear_user_highpage(page, vaddr);
> >
> > But this change is presumptuous. alloc_zeroed_user_highpage() doesn't know
> > that its caller is going to use the page for moveable purposes. (Ditto lots
> > of other places in this patch).
> >
>
> according to grep -r, alloc_zeroed_user_highpage() is only used in two
> places, do_wp_page() (when write faulting the zero page)[1] and
> do_anonymous_page() (when mapping the zero page for the first time and
> writing). In these cases, they are known to be movable. What am I missing?
We shouldn't implement a function which "knows" how its callers are using
it in this manner.
You've gone and changed alloc_zeroed_user_highpage() into alloc_user_zeroed_highpage_which_you_must_use_in_an_application_where_it_is_movable().
Now, if we want to put a big fat comment over these functions saying that the caller
must honour the promise we've made on the caller's behalf then OK(ish). But it'd
be better (albeit perhaps bloaty) to require the caller to pass in the gfp-flags.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-12-01 19:01 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-30 17:07 Mel Gorman
2006-12-01 1:31 ` Andrew Morton
2006-12-01 9:54 ` Mel Gorman
2006-12-01 19:01 ` Andrew Morton [this message]
2006-12-04 14:07 ` Mel Gorman
2006-12-04 19:30 ` Andrew Morton
2006-12-04 19:41 ` Christoph Lameter
2006-12-04 20:06 ` Andrew Morton
2006-12-04 20:17 ` Christoph Lameter
2006-12-04 21:19 ` Andrew Morton
2006-12-04 21:43 ` Christoph Lameter
2006-12-04 22:22 ` Andrew Morton
2006-12-05 16:00 ` Christoph Lameter
2006-12-05 19:25 ` Andrew Morton
2006-12-05 20:01 ` Christoph Lameter
2006-12-05 21:47 ` Mel Gorman
2006-12-05 23:33 ` Christoph Lameter
2006-12-06 9:31 ` Mel Gorman
2006-12-06 17:31 ` Christoph Lameter
2006-12-08 1:21 ` Jeremy Fitzhardinge
2006-12-08 2:20 ` Christoph Lameter
2006-12-08 6:11 ` Jeremy Fitzhardinge
2006-12-05 18:10 ` Mel Gorman
2006-12-04 20:34 ` Mel Gorman
2006-12-04 22:34 ` Andrew Morton
2006-12-04 23:45 ` Mel Gorman
2006-12-05 1:16 ` KAMEZAWA Hiroyuki
2006-12-05 10:03 ` Mel Gorman
2006-12-05 16:05 ` Christoph Lameter
2006-12-05 18:26 ` Andrew Morton
2006-12-05 19:59 ` Christoph Lameter
2006-12-05 16:14 ` Christoph Lameter
2006-12-05 17:17 ` Mel Gorman
2006-12-05 19:54 ` Christoph Lameter
2006-12-05 15:52 ` Andy Whitcroft
2006-12-05 15:48 ` Andy Whitcroft
2006-12-04 20:37 ` Peter Zijlstra
2006-12-06 14:18 ` Andy Whitcroft
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=20061201110103.08d0cf3d.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/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