Re: [RFC][PATCH 0/4] Redesign cpu_hotplug locking.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 26 Aug 2006 14:09:55 -0700 (PDT)
Linus Torvalds <[email protected]> wrote:

> 
> 
> On Fri, 25 Aug 2006, Dave Jones wrote:
> >
> > On Thu, Aug 24, 2006 at 09:17:04AM -0700, Andrew Morton wrote:
> >  > We already have sufficient locking primitives to get this right.  Let's fix
> >  > cpufreq locking rather than introduce complex new primitives which we hope
> >  > will work in the presence of the existing mess.
> >  > 
> >  > Step 1: remove all mention of lock_cpu_hotplug() from cpufreq.
> >  > Step 2: work out what data needs to be locked, and how.
> >  > Step 3: implement.
> > 
> > this is what I planned to do weeks ago when this mess first blew up.
> > I even went as far as sending Linus a patch for (1).
> > He seemed really gung-ho about trying to fix up the current mess though,
> > and with each incarnation since, I've been convinced we're making
> > the problem worse rather than really improving anything.
> 
> I definitely want to have this fixed, and Gautham's patches look like a 
> good thing to me, but the "trying to fix up the current mess" part was 
> really about trying to get 2.6.18 in a mostly working state rather than 
> anything else. I think it's been too late to try to actually _fix_ it for 
> 2.6.18 for a long time already.
> 
> So my reaction is that this redesign should go in asap after 2.6.18, 
> unless people feel strongly that the current locking has so many bugs that 
> people can actually _hit_ in practice that it's better to go for the 
> redesign early.

It certainly needs a redesign.  A new sort of lock which makes it appear to
work won't fix races like:

int cpufreq_update_policy(unsigned int cpu)
{
	struct cpufreq_policy *data = cpufreq_cpu_get(cpu);

	...

	lock_cpu_hotplug();


I rather doubt that anyone will be hitting the races in practice.  I'd
recommend simply removing all the lock_cpu_hotplug() calls for 2.6.18.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux