lkml.org 
[lkml]   [2008]   [Sep]   [17]   [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)
On Wed, 17 Sep 2008 16:28:26 -0700 Balbir Singh <balbir@linux.vnet.ibm.com> wrote:

>
> Before trying the sparsemem approach, I tried a radix tree per node,
> per zone and I seemed to actually get some performance
> improvement.(1.5% (noise maybe))
>
> But please do see and review (tested on my x86_64 box with unixbench
> and some other simple tests)
>
> v4..v3
> 1. Use a radix tree per node, per zone
>
> v3...v2
> 1. Convert flags to unsigned long
> 2. Move page_cgroup->lock to a bit spin lock in flags
>
> v2...v1
>
> 1. Fix a small bug, don't call radix_tree_preload_end(), if preload fails
>
> This is a rewrite of a patch I had written long back to remove struct page
> (I shared the patches with Kamezawa, but never posted them anywhere else).
> I spent the weekend, cleaning them up for 2.6.27-rc5-mmotm (29 Aug 2008).
>
> I've tested the patches on an x86_64 box, I've run a simple test running
> under the memory control group and the same test running concurrently under
> two different groups (and creating pressure within their groups).
>
> 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? ;)

(IOW, your changelog is in the category "sucky", along with 90% of the others)


\
 
 \ /
  Last update: 2008-09-18 03:43    [from the cache]
©2003-2011 Jasper Spaans