lkml.org 
[lkml]   [2008]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [patch 02/41] cpu alloc: The allocator
    Date
    On Friday 30 May 2008 15:20:45 Christoph Lameter wrote:
    > On Fri, 30 May 2008, Eric Dumazet wrote:
    > > > +static DEFINE_PER_CPU(UNIT_TYPE, area[UNITS]);
    > >
    > > area[] is not guaranteed to be aligned on anything but 4 bytes.
    > >
    > > If someone then needs to call cpu_alloc(8, GFP_KERNEL, 8), it might get
    > > an non aligned result.
    > >
    > > Either you should add an __attribute__((__aligned__(PAGE_SIZE))),
    > > or take into account the real address of area[] in cpu_alloc() to avoid
    > > waste of up to PAGE_SIZE bytes
    > > per cpu.
    >
    > I think cacheline aligning should be sufficient. People should not
    > allocate large page aligned objects here.

    I vaguely recall there were issues with this in the module code. They might
    be gone now, but failing to meet alignment contraints without a big warning
    would suck.

    But modifying your code to consider the actual alignment is actually pretty
    trivial, AFAICT.

    Cheers,
    Rusty.


    \
     
     \ /
      Last update: 2008-05-30 07:55    [W:0.031 / U:0.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site