Re: Re: [PATCH 9/13] memcg: lookup page cgroup (and remove pointer from struct page)

kamezawa.hiroyu
2008-09-22T16:04:13Z

----- Original Message -----
>On Mon, 2008-09-22 at 20:12 +0900, KAMEZAWA Hiroyuki wrote:
>
>> - all page_cgroup struct is maintained by hash.
>> I think we have 2 ways to handle sparse index in general
>> ...radix-tree and hash. This uses hash because radix-tree's layout is
>> affected by memory map's layout.
>
>Could you provide further detail? That is, is this solely because our
>radix tree implementation is sucky for large indexes?
>
no, sparse-large index.

>If so, I did most of the work of fixing that, just need to spend a
>little more time to stabalize the code.
>

IIUC, radix tree's height is determined by how sparse the space is.

In big servers, each node's memory is tend to be aligned to some aligned
address. like (following is an extreme example)

256M.....node 0 equips 4GB mem =32section
<very big hole>
256T .... node 1 equips 4GB mem =32section
<very big hole>
512T .... node 2 equips 4GB mem =32section
<very big hole>
.....

Then, steps to reach entries is tend to be larger than hash.
I'm sorry if I misunderstood.

Thanks,
-Kame