[lkml]   [2009]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] cpuset: fix allocating page cache/slab object on the unallowed node when memory spread is set
    On Wed, Feb 4, 2009 at 1:31 AM, Miao Xie <> wrote:
    >> AFAICS this patch still has a race between a thread reading its
    >> mems_allowed, and another thread updating it. The current architecture
    >> of having task->mems_allowed be only updatable by current was PaulJ's
    >> code originally, and I'm a bit loathe to touch it. But if we're going
    >> to, we'll need at the minimum to add a lock for any code that touches
    >> current->mems_allowed.
    > Agree! But mems_allowed is touched in the module of memory management
    > in general, adding a lock to protect mems_allowed may lead to performance
    > regression.

    I've asked Andrew to remove this from -mm until we can figure out:

    - whether it's needed
    - how to do it safely.

    Basically the problem that you're seeing is that when you move a task
    into a cpuset that has memory_spread_page=1, it fails to call

    One thing missing from your test - can you verify that the test
    program really did get migrated into the child cpuset? If it failed
    (and echo failed to report the error) that would explain what you're


     \ /
      Last update: 2009-02-06 20:21    [W:0.020 / U:59.652 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site