[lkml]   [2008]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: current linux-2.6.git: cpusets completely broken

    On Tue, 15 Jul 2008, Dmitry Adamushko wrote:
    > cpu_clear(cpu, cpu_active_map); _alone_ does not guarantee that after
    > its completion, no new tasks can appear on (be migrated to) 'cpu'.

    But I think we should make it do that.

    I do realize that we "queue" processes, but that's part of the whole
    complexity. More importantly, the people who do that kind of asynchronous
    queueing don't even really care - *if* they cared about the process
    _having_ to show up on the destination core, they'd be waiting
    synchronously and re-trying (which they do).

    So by doing the test for cpu_active_map not at queuing time, but at the
    time when we actually try to do the migration, we can now also make that
    cpu_active_map be totally serialized.

    (Of course, anybody who clears the bit does need to take the runqueue lock
    of that CPU too, but cpu_down() will have to do that as it does the
    "migrate away live tasks" anyway, so that's not a problem)


     \ /
      Last update: 2008-07-15 01:09    [W:0.019 / U:2.648 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site