lkml.org 
[lkml]   [2008]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 9/13] memcg: lookup page cgroup (and remove pointer from struct page)
From
Date
On Mon, 2008-09-22 at 20:12 +0900, KAMEZAWA Hiroyuki wrote:
> + /* we don't need too large hash */
> + default_pcg_hash_size = (max_pfn/ENTS_PER_CHUNK);
> + default_pcg_hash_size *= 2;
> + /* if too big, use automatic calclation */
> + if (default_pcg_hash_size > 1024 * 1024)
> + default_pcg_hash_size = 0;
> +
> + pcg_hashtable = alloc_large_system_hash("PageCgroup Hash",
> + sizeof(struct pcg_hash_head),
> + default_pcg_hash_size,
> + 13,
> + 0,
> + &pcg_hashshift,
> + &pcg_hashmask,
> + 0);

The one thing I don't see here is much explanation about how large this
structure will get.

Basing it on max_pfn makes me nervous because of what it will do on
machines with very sparse memory. Is this like sparsemem where the
structure can be small enough to actually span all of physical memory,
or will it be a large memory user?

Can you lay out how much memory this will use on a machine like Dave
Miller's which has 1GB of memory at 0x0 and 1GB of memory at 1TB up in
the address space?

Also, how large do the hash buckets get in the average case?

-- Dave



\
 
 \ /
  Last update: 2008-09-22 16:57    [W:0.121 / U:1.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site