Re: [RFC 07/13] sched: Reduce stack size requirements inkernel/sched.c

From: Peter Zijlstra
Date: Sun Sep 07 2008 - 09:09:26 EST


On Sun, 2008-09-07 at 04:00 -0700, Andrew Morton wrote:
> On Sun, 07 Sep 2008 12:24:47 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> > get_online_cpus() can sleep, but you just disabled preemption with those
> > get_cpumask_var() horribles!
>
> make cpu_hotplug.refcount an atomic_t.

A much easier fix is just re-ordering those operations and do the
get_online_cpus() before disabling preemption. But it does indicate this
patch series isn't carefully constructed.

> > Couldn't be arsed to look through the rest, but I really hate this
> > cpumask_ptr() stuff that relies on disabling preemption.
>
> that's harder to fix ;)

Looking at more patches than just the sched one convinced me more that
this approach isn't a good one. It seems to make code much more
fragile.

See patch 9, there it was needed to draw out the callgraph in order to
map stuff to these global variables - we're adding global dependencies
to code that didn't have any, increasing complexity.



--
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/