25 May, 2011

1 commit

  • Reorder mm_context_t to remove alignment padding on 64 bit
    builds shrinking its size from 64 to 56 bytes.

    This allows mm_struct to shrink from 840 to 832 bytes, so using
    one fewer cache lines, and getting more objects per slab when
    using slub.

    slabinfo mm_struct reports
    before :-

    Sizes (bytes) Slabs
    -----------------------------------
    Object : 840 Total : 7
    SlabObj: 896 Full : 1
    SlabSiz: 16384 Partial: 4
    Loss : 56 CpuSlab: 2
    Align : 64 Objects: 18

    after :-

    Sizes (bytes) Slabs
    ----------------------------------
    Object : 832 Total : 7
    SlabObj: 832 Full : 1
    SlabSiz: 16384 Partial: 4
    Loss : 0 CpuSlab: 2
    Align : 64 Objects: 19

    Signed-off-by: Richard Kennedy
    Cc: wilsons@start.ca
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Pekka Enberg
    Link: http://lkml.kernel.org/r/1306244999.1999.5.camel@castor.rsk
    Signed-off-by: Ingo Molnar

    Richard Kennedy
     

24 Mar, 2011

1 commit


23 Oct, 2008

2 commits