[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150624102733.GK3644@twins.programming.kicks-ass.net>
Date: Wed, 24 Jun 2015 12:27:33 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Vitaly Kuznetsov <vkuznets@...hat.com>
Cc: KY Srinivasan <kys@...rosoft.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"mingo@...nel.org" <mingo@...nel.org>,
"rafael.j.wysocki@...el.com" <rafael.j.wysocki@...el.com>,
"tglx@...utronix.de" <tglx@...utronix.de>
Subject: Re: [PATCH 1/1] cpu-hotplug: export
cpu_hotplug_enable/cpu_hotplug_disable
On Wed, Jun 24, 2015 at 11:43:33AM +0200, Vitaly Kuznetsov wrote:
> Peter Zijlstra <peterz@...radead.org> writes:
> > On Tue, Jun 23, 2015 at 04:57:05PM +0000, KY Srinivasan wrote:
> >
> >> > diff --git a/kernel/cpu.c b/kernel/cpu.c
> >> > index 94bbe46..8f35ee6 100644
> >> > --- a/kernel/cpu.c
> >> > +++ b/kernel/cpu.c
> >> > @@ -190,17 +190,19 @@ void cpu_hotplug_done(void)
> >> > void cpu_hotplug_disable(void)
> >> > {
> >> > cpu_maps_update_begin();
> >> > - cpu_hotplug_disabled = 1;
> >> > + cpu_hotplug_disabled++;
> >> > cpu_maps_update_done();
> >> > }
> >> > +EXPORT_SYMBOL_GPL(cpu_hotplug_disable);
> >> >
> >> > void cpu_hotplug_enable(void)
> >> > {
> >> > cpu_maps_update_begin();
> >> > - cpu_hotplug_disabled = 0;
> >> > + if (cpu_hotplug_disabled)
> >> > + cpu_hotplug_disabled--;
> >
> > No that just papers over bugs.
>
> Yes, but these bugs are not in Linux. I don't see any other way for a
> platform to enable/disable cpu hotplug in runtime.
Any code using this had better be open source, if not I really don't
care anyway.
That really ought to be:
WARN_ON(--cpu_hotplug_disabled < 0);
You do not make underflows go away.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists