Re: [PATCH 1/11] Add __GFP_MOVABLE flag and update callers

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

 



On Fri, 24 Nov 2006, Hugh Dickins wrote:

On Fri, 24 Nov 2006, Mel Gorman wrote:

Good catch. In the page clustering patches I work on, I am doing this;

-       page = alloc_page_vma(gfp | __GFP_ZERO, &pvma, 0);
+       page = alloc_page_vma(
+                       set_migrateflags(gfp | __GFP_ZERO, __GFP_RECLAIMABLE),
+                                                               &pvma, 0);

to get rid of the MOVABLE flag and replace it with __GFP_RECLAIMABLE. This
clustered the allocations together with allocations like inode cache. In
retrospect, this was not a good idea because it assumes that tmpfs and shmem
pages are short-lived. That may not be the case at all.
...
Thanks for that clarification. I suspected that something like this was the
case when I removed the MOVABLE flag and used RECLAIMABLE but I wasn't 100%
certain. In the tests I was running, tmpfs pages weren't a major problem so I
didn't chase it down.

I'm fairly confused as to what MOVABLE versus RECLAIMABLE is supposed to
be meaning, and understand it's in flux, so haven't tried too hard.

A MOVABLE allocation may be moved with page migration or paged out by kswapd.

RECLAIMABLE on the other hand applies to short-lived allocations (like a socket buffer) or allocations for slab caches that may be reaped such as inode caches or dcache.

Just
so long as you understand that tmpfs data pages go out to swap under memory
pressure, whereas ramfs pages do not, and tmpfs swap vector pages do not.


Right, I'll take a much closer look with this in mind and make the distinction. Thanks

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