Re: [PATCH] cpuset: Rework sched domains and CPU hotplug handling(2.6.27-rc1)

From: Max Krasnyansky
Date: Tue Aug 05 2008 - 16:31:40 EST


Paul Jackson wrote:
Max wrote:
Actually it is appropriate, and there is one more user of the
arch_reinit_sched_domains() which is S390 topology updates.
Those things (mc_power and topology updates) have to update domain flags based
on the mc/smt power and current topology settings.

Hmmm ... ok I suppose.

Could we have the kernel/sched.c code, in this case, call the
kernel/cpuset.c routine async_rebuild_sched_domains(), rather
than the synchronous rebuild_sched_domains() call (in your naming)
which required details of the get_online_cpus() and put_online_cpus()
wrapping to leak into kernel/sched.c:arch_reinit_sched_domains()
routine?

It could I guess. But the questions is why ?
I mean the only reason we've introduced workqueue is because lock nesting got too complicated. Otherwise in all those paths we're already in a process context and there is no need to schedule a workqueue.

I see your point about get_online_cpus() thing. But it is similar to partition_sched_domains() which is an external (from the sched pov) interface and must be called within get_online_cpus() ... put_online_cpus().

Max


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