lkml.org 
[lkml]   [2008]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] Remove cgroup member from struct page (v3)
KAMEZAWA Hiroyuki wrote:
> On Wed, 17 Sep 2008 18:40:08 -0700
> Andrew Morton <akpm@linux-foundation.org> wrote:
>>> Advantages of the patch
>>>
>>> 1. It removes the extra pointer in struct page
>>>
>>> Disadvantages
>>>
>>> 1. Radix tree lookup is not an O(1) operation, once the page is known
>>> getting to the page_cgroup (pc) is a little more expensive now.
>> Why are we doing this? I can guess, but I'd rather not have to.
>>
>> a) It's slower.
>>
>> b) It uses even more memory worst-case.
>>
>> c) It uses less memory best-case.
>>
>> someone somewhere decided that (Aa + Bb) / Cc < 1.0. What are the values
>> of A, B and C and where did they come from? ;)
>>
>
> Balbir, don't you like pre-allocate-page-cgroup-at-boot at all ?
> I don't like radix-tree for objects which can spread to very vast/sparse area ;)
>

I tried one version, but before trying a pre-allocation version, I wanted to
spread out the radix-tree and try and the results seemed quite impressive. We
can still do pre-allocation, but it gets more complicated as we start supporting
all memory models. I do have a design on paper, but it is much more complex than
this.

> BTW, I already have lazy-lru-by-pagevec protocol on my patch(hash version) and
> seems to work well. I'm now testing it and will post today if I'm enough lucky.

cool! Please do post what numbers you see as well. I would appreciate if you can
try this version and see what sort of performance issues you see.

--
Balbir


\
 
 \ /
  Last update: 2008-09-18 07:01    [W:0.109 / U:0.468 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site