Messages in this thread | | | Date | Sat, 26 Aug 2006 15:04:22 -0700 | From | Andrew Morton <> | Subject | Re: [RFC][PATCH 0/4] Redesign cpu_hotplug locking. |
| |
On Sat, 26 Aug 2006 14:09:55 -0700 (PDT) Linus Torvalds <torvalds@osdl.org> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |