[lkml]   [2008]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] Move memory controller allocations to their own slabs (v3)
On Thu, 13 Mar 2008 19:33:07 +0530
Balbir Singh <> wrote:

> Changelog v3
> Changelog v2
> 1. Remove extra slab for mem_cgroup_per_zone
> Move the memory controller data structure page_cgroup to its own slab cache.
> It saves space on the system, allocations are not necessarily pushed to order
> of 2 and should provide performance benefits. Users who disable the memory
> controller can also double check that the memory controller is not allocating
> page_cgroup's.
> NOTE: Hugh Dickins brought up the issue of whether we want to mark page_cgroup
> as __GFP_MOVABLE or __GFP_RECLAIMABLE. I don't think there is an easy
> answer at the moment. page_cgroup's are associated with user pages,
> they can be reclaimed once the user page has been reclaimed, so it might
> make sense to mark them as __GFP_RECLAIMABLE. For now, I am leaving the
> marking to default values that the slab allocator uses.
> Comments?
At first, in my understanding,
- MOVABLE is for migratable pages. (so, not for kernel objects.)
- RECLAIMABLE is for reclaimable kernel objects. (for slab etc..)

All reclaimable objects are not necessary to be always reclaimable but
some amount of RECLAIMABLE objects (not all) should be recraimable easily.
For example, some of dentry-cache, inode-cache is reclaimable because *unused*
objects are cached.

When it comes to page_cgroup, *all* objects has dependency to pages which are
assigned to. And user pages are reclaimable.
There is a similar object....the radix tree. radix-tree's node is allocated as

So I think it makes sense to changing page_cgroup to be reclaimable.

But final decision should be done by how fragmentation avoidance works.
It's good to test "how many hugepages can be allocated dynamically" when we
make page_cgroup to be GFP_RECAIMABLE


 \ /
  Last update: 2008-03-14 03:55    [W:0.041 / U:2.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site