On 14/11/6 下午6:08, Peter Zijlstra wrote:
On Thu, Nov 06, 2014 at 09:46:34AM +0800, Wanpeng Li wrote:

Ah, it could be that for offline cpus we have a singleton rd. Lemme try
I still cannot find where build the singleton rd in the codes, could you
point out?
So this is all quite horrible code, but what I think happens is that:

        sched_cpu_inactive() -> set_cpu_active(cpu, false);
        cpuset_cpu_inactive() -> cpuset_update_active_cpus(false)
                              -> partition_sched_domains(1, NULL, NULL)
                              -> build_sched_domains(cpu_active_mask)
                              -> for_each_cpu()
                                   cpu_attach_domain() -> rq_attach_root()

Now, that will detach all active cpus from the current root domain and
attach them to the new root domain. Which leaves behind the old root
domain attached to only the one 'dead' cpu.

Got it, thanks for your great explanation. ;-)

Regards,
Wanpeng Li


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to