Re: [RFC PATCH 1/4] Refcount Based Cpu-Hotplug Implementation

From: Gautham R Shenoy
Date: Wed Oct 17 2007 - 01:38:27 EST


On Wed, Oct 17, 2007 at 10:47:41AM +1000, Rusty Russell wrote:
> On Tuesday 16 October 2007 20:34:17 Gautham R Shenoy wrote:
> > This patch implements a Refcount + Waitqueue based model for
> > cpu-hotplug.
>
> Hi Gautham,

Hi Rusty,

>
> I can't see where you re-initialize the completion.

The cpu_hotplug.readers_done is a global variable which has been
initialized in cpu_hotplug_init.

So I am wondering is the re-initialization required ?

>
> > +static void cpu_hotplug_begin(void)
> > +{
> > + mutex_lock(&cpu_hotplug.lock);
> > + cpu_hotplug.active_writer = current;
> > + while (cpu_hotplug.refcount) {
> > + mutex_unlock(&cpu_hotplug.lock);
> > + wait_for_completion(&cpu_hotplug.readers_done);
> > + mutex_lock(&cpu_hotplug.lock);
> > + }
>
> AFAICT this will busy-wait on the second CPU hotplug.
>

Well when the first cpu_hotplug comes out of wait_for_completion, it
would have decremented the ->done count, so it's as good as new
for the second CPU hotplug, no?

> Cheers,
> Rusty.

Thanks and Regards
gautham.
--
Gautham R Shenoy
Linux Technology Center
IBM India.
"Freedom comes with a price tag of responsibility, which is still a bargain,
because Freedom is priceless!"
-
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/