Messages in this thread | | | Date | Mon, 08 Sep 2008 07:56:32 -0700 | From | Mike Travis <> | Subject | Re: [RFC 07/13] sched: Reduce stack size requirements in kernel/sched.c |
| |
Peter Zijlstra wrote: > 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.
Yes, it's mostly a hunt for comments on my part... ;-) > >>> 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.
Again, yes, as I got farther into that one, it became clear that having static cpumask_t temps over too large a range was ending up very messy.
Thanks, Mike
| |