[lkml]   [2010]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Q: select_fallback_rq() && cpuset_lock()
    On 03/11, Oleg Nesterov wrote:
    > How can we fix this later? Perhaps we can change
    > cpuset_track_online_cpus(CPU_DEAD) to scan all affected cpusets and
    > fixup the tasks with the wrong ->cpus_allowed == cpu_possible_mask.

    Wait. We need to fix the CPU_DEAD case anyway?

    Hmm. 6ad4c18884e864cf4c77f9074d3d1816063f99cd
    "sched: Fix balance vs hotplug race" did s/CPU_DEAD/CPU_DOWN_PREPARE/
    in cpuset_track_online_cpus(). This doesn't look exactly right to me,
    we shouldn't do remove_tasks_in_empty_cpuset() at CPU_DOWN_PREPARE
    stage, it can fail.

    Otoh. This means that move_task_of_dead_cpu() can never see the
    task without active cpus in ->cpus_allowed, it is called later by
    CPU_DEAD. So, cpuset_lock() is not needed at all.


     \ /
      Last update: 2010-03-11 16:25    [W:0.020 / U:2.508 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site