lkml.org 
[lkml]   [2008]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Move memory controller allocations to their own slabs (v2)
On Tue, 11 Mar 2008, Balbir Singh wrote:
>
> On my 64 bit powerpc system (structure size could be different on other systems)
>
> 1. sizeof page_cgroup is 40 bytes
> which means kmalloc will allocate 64 bytes
> 2. With 4K pagesize SLAB with HWCACHE_ALIGN, 59 objects are packed per slab
> 3. With SLUB the value is 102 per slab

I expect you got those numbers with 2.6.25-rc4? Towards the end of -rc5
there's a patch from Nick to make SLUB's treatment of HWCACHE_ALIGN the
same as SLAB's, so I expect you'd be back to a similar poor density with
SLUB too. (But I'm replying without actually testing it out myself.)

I think you'd need a strong reason to choose HWCACHE_ALIGN for these.

Consider: the (normal configuration) x86_64 struct page size was 56
bytes for a long time (and still is without MEM_RES_CTLR), but we've
never inserted padding to make that a round 64 bytes (and they would
benefit additionally from some simpler arithmetic, not the case with
page_cgroups). Though it's good to avoid unnecessary sharing and
multiple cacheline accesses, it's not so good as to justify almost
doubling the size of a very very common structure. I think.

Hugh


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