Messages in this thread | | | Date | Fri, 25 Aug 2006 00:55:26 +1000 | From | Nick Piggin <> | Subject | Re: [RFC][PATCH 4/4] Rename lock_cpu_hotplug/unlock_cpu_hotplug |
| |
Arjan van de Ven wrote: > On Thu, 2006-08-24 at 19:33 +0530, Gautham R Shenoy wrote: > >>On Thu, Aug 24, 2006 at 01:00:00PM +0200, Arjan van de Ven wrote: >> >>>On Thu, 2006-08-24 at 16:04 +0530, Gautham R Shenoy wrote: >>> >>>> >>>>This patch renames lock_cpu_hotplug to cpu_hotplug_disable and >>>>unlock_cpu_hotplug to cpu_hotplug_enable throughout the kernel. >>> >>>Hi, >>> >>>to be honest I dislike the new names too. You turned it into a refcount, >>>which is good, but the normal linux name for such refcount functions is >>>_get and _put..... and in addition the refcount technically isn't >>>hotplug specific, all you want is to keep the kernel data for the >>>processor as being "used", so cpu_get() and cpu_put() would sound >>>reasonable names to me, or cpu_data_get() cpu_data_put(). >> >>Thus, choice of 'cpu_hotplug_disable' and 'cpu_hotplug_enable' >>was determined on the basis of its purpose, as in *what* it does >>as opposed to *how* it does it. :) > > > well.. it comes down to the difference of locking to protect data versus > locking to protect against a specific piece of code. Almost always the > later turns out to be a mistake...
But it is not protecting a cpu from going away, it is protecting ALL cpus from coming or leaving. In that respect it is much more like a cpu_online_map lock rather than a data structure refcount.
It really is just like a reentrant rw semaphore... I don't see the point of the name change, but I guess we don't like reentrant locks so calling it something else might go down better with Linus ;)
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- 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/
| |