Messages in this thread | | | Date | Tue, 14 Jun 2011 12:10:38 +0200 | From | "" <> | Subject | Re: [patch v4 1/2] stop_machine: enable __stop_machine() to be called from the cpu online path |
| |
Hello, Ingo, Suresh.
On Mon, Jun 13, 2011 at 01:49:18PM -0700, Suresh Siddha wrote: > On Mon, 2011-06-13 at 12:56 -0700, Ingo Molnar wrote: > > * Suresh Siddha <suresh.b.siddha@intel.com> wrote: > > > > > include/linux/stop_machine.h | 11 +++-- > > > kernel/stop_machine.c | 91 ++++++++++++++++++++++++++++++++++++++++--- > > > 2 files changed, 93 insertions(+), 9 deletions(-) > > > > Btw., this is *way* too risky for a -stable backport. > > > > Ingo, we can have a smaller patch (appended) for the -stable. How do you > want to go ahead? Take this small patch for both mainline and -stable > and the two code cleanup/consolidation patches for -tip (to go into > 3.1?). Thanks.
So, here's what I think we should do.
* Polish up this simpler patch and send it for 3.0 through -tip. It's slightly scary but not too much and fixes a real bug. After a while, we can ask -stable to pull the simple version.
* Work on proper update which drops custom implementation from mtrr code for 3.1 window. BTW, even after the recent revisions, I think the stop machine change is a bit too hacky. I'll reply to that separately.
> diff --git a/include/linux/stop_machine.h b/include/linux/stop_machine.h > index 092dc9b..8a28d4c 100644 > --- a/include/linux/stop_machine.h > +++ b/include/linux/stop_machine.h > @@ -33,6 +33,10 @@ void stop_one_cpu_nowait(unsigned int cpu, cpu_stop_fn_t fn, void *arg, > int stop_cpus(const struct cpumask *cpumask, cpu_stop_fn_t fn, void *arg); > int try_stop_cpus(const struct cpumask *cpumask, cpu_stop_fn_t fn, void *arg); > > +void lock_stop_cpus(void); > +int try_lock_stop_cpus(void); > +void unlock_stop_cpus(void);
Ugh... Can you please just export stop_cpus_mutex and have CONFIG_SMP in mtrr code. After all, it's a temporary workaround for mtrr. No reason to add three functions for that.
Thank you.
-- tejun
| |