Re: [PATCH 5/5] Mark page cache pages as __GFP_PAGECACHE instead of __GFP_MOVABLE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 17 May 2007, Andrew Morton wrote:

On Thu, 17 May 2007 11:12:03 +0100 (IST)
Mel Gorman <[email protected]> wrote:

--- linux-2.6.22-rc1-mm1-025_gfphighuser/fs/buffer.c	2007-05-16 22:55:50.000000000 +0100
+++ linux-2.6.22-rc1-mm1-030_pagecache_mark/fs/buffer.c	2007-05-16 23:07:30.000000000 +0100
@@ -1009,7 +1009,7 @@ grow_dev_page(struct block_device *bdev,
 	struct buffer_head *bh;

 	page = find_or_create_page(inode->i_mapping, index,
-					GFP_NOFS|__GFP_RECLAIMABLE);
+					GFP_NOFS_PAGECACHE);
 	if (!page)
 		return NULL;


I ended up with

       page = find_or_create_page(inode->i_mapping, index,
               (mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS)|__GFP_MOVABLE);

here.


That looks like it'll work fine with respects to grouping by mobility but there is a slight functional difference worth noting. Specifically, the old code did not obey cpuset limits because __GFP_HARDWALL was not set. This change gets it's GFP mask from bdget() calling mapping_set_gfp_mask() which is GFP_USER and so will obey CPUSET limits. This new version looks more correct.

--
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux