Messages in this thread | | | Subject | Re: [RFC 07/13] sched: Reduce stack size requirements in kernel/sched.c | From | Peter Zijlstra <> | Date | Sun, 07 Sep 2008 15:05:50 +0200 |
| |
On Sun, 2008-09-07 at 04:00 -0700, Andrew Morton wrote: > On Sun, 07 Sep 2008 12:24:47 +0200 Peter Zijlstra <peterz@infradead.org> 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.
| |