linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Mel Gorman <mel@csn.ul.ie>
To: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org
Subject: Re: grow_dev_page's __GFP_MOVABLE
Date: Wed, 12 Mar 2008 14:08:31 +0000	[thread overview]
Message-ID: <20080312140831.GD6072@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0803112116380.18085@blonde.site>

On (11/03/08 21:33), Hugh Dickins didst pronounce:
> Hi Mel,
> 
> I'm (slightly) worried by your __GFP_MOVABLE in grow_dev_page:
> is it valid, given that we come here for filesystem metadata pages
> - don't we? 

This is a tricky one and the second time it's come up. The pages allocated
here end up on the page cache and had a similar life-cycle to other LRU-pages
in the majority of cases when I checked at the time. The allocations are
labeled MOVABLE, but in this case they can be cleaned and moved to disk
rather than movable by page migration.  Strictly, one would argue that
they could be marked RECLAIMABLE but it increases the number of pageblocks
used by RECLAIMABLE allocations quite considerably and they have a very
different lifecycle which in itself is bad (spreads difficult to reclaim
allocations wider than necessary). Similarly, leaving them GFP_NOFS would
scatter allocations like page table pages wider than expected.

> If it is valid, then wouldn't adding __GFP_HIGHMEM
> be valid there also?  It'd be very nice to have __GFP_MOVABLE and
> __GFP_HIGHMEM on all blockdev pages, but we've concluded in the
> past that __GFP_HIGHMEM cannot be allowed without large kmapping
> mods throughout the filesystems.  Go back to GFP_NOFS there?
> 

I'd prefer not because the current way keeps most LRU pages together,
even if some of them must be allocated from ZONE_NORMAL instead of
ZONE_HIGHMEM but I'm open to being convinced this was a mistake.

Even if we decide to leave this as-is, I should write a patch commenting
on this.

> Hugh
> 
> --- 2.6.25-rc5/fs/buffer.c	2008-03-05 10:47:40.000000000 +0000
> +++ linux/fs/buffer.c	2008-03-11 21:21:10.000000000 +0000
> @@ -1029,8 +1029,7 @@ grow_dev_page(struct block_device *bdev,
>  	struct page *page;
>  	struct buffer_head *bh;
>  
> -	page = find_or_create_page(inode->i_mapping, index,
> -		(mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS)|__GFP_MOVABLE);
> +	page = find_or_create_page(inode->i_mapping, index, GFP_NOFS);
>  	if (!page)
>  		return NULL;
>  
> 

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

--
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>

  reply	other threads:[~2008-03-12 14:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-11 21:33 grow_dev_page's __GFP_MOVABLE Hugh Dickins
2008-03-12 14:08 ` Mel Gorman [this message]
2008-03-12 18:11   ` Hugh Dickins
2008-03-13 12:07     ` Mel Gorman
2008-03-13 15:05       ` Badari Pulavarty
2008-03-13 15:44         ` Mel Gorman
2008-03-14  0:50           ` Badari Pulavarty
2008-03-14 11:47             ` Mel Gorman
2008-03-14 16:05               ` Badari Pulavarty
2008-03-14 18:52                 ` Badari Pulavarty
2008-03-17 10:54                   ` Andy Whitcroft
2008-03-17 14:04                     ` Badari Pulavarty
2008-03-18  9:34                 ` Mel Gorman

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=20080312140831.GD6072@csn.ul.ie \
    --to=mel@csn.ul.ie \
    --cc=akpm@linux-foundation.org \
    --cc=hugh@veritas.com \
    --cc=linux-mm@kvack.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).