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

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

 



* Gautham R Shenoy <[email protected]> wrote:

> So here's an implementation on the lines of (c).
> 
> There are two types of tasks interested in cpu_hotplug
> - ones who want to *prevent* a hotplug event.
> - ones who want to *perform* a cpu hotplug.
> 
> For sake of simplicity let's call the former ones readers (though I 
> would have prefered inhibitors or somthing fancier!) and latter ones 
> writers. Let write operation = cpu_hotplug operation.
> 
> -The protocol is analogous to RWSEM, *only not so fair* .

really nice! I'm quite sure that this is the right way to approach this 
problem.

Please add the appropriate lock_acquire()/lock_release() calls into the 
new sleeping semaphore type. Just use the parameters that rwlocks use:

#define rwlock_acquire(l, s, t, i)            lock_acquire(l, s, t, 0, 2, i)
#define rwlock_acquire_read(l, s, t, i)       lock_acquire(l, s, t, 2, 2, i)

and lockdep will allow recursive read-locking. You'll also need a 
lockdep_init_map() call to register the lock with lockdep. Then your 
locking scheme will be fully checked by lockdep too. (with your current 
code the new lock type is not added to the lock dependency graph(s))

	Ingo
-
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