[dm-devel] kmalloc after down_write?

Ming Zhang mingz at ele.uri.edu
Fri Nov 19 18:36:46 UTC 2004


yes, i know. semaphore can sleep. but why not release lock, kmalloc, and
regain lock? i think any code should reduce the chance that make others
wait for it. especially it hold a write lock, not a read lock.

ming

On Fri, 2004-11-19 at 13:21, Kevin Corry wrote:
> On Friday 19 November 2004 12:10 pm, Ming Zhang wrote:
> > I am reading dm-snap.c and found that in register_snapshot(),
> > http://lxr.linux.no/source/drivers/md/dm-snap.c?v=2.6.8.1#L159,
> > the kmalloc is called with rwsem held. I am not sure if this is a good
> > one since kmalloc may sleep as well.
> 
> It's a semaphore, not a spinlock. Sleeping is allowed while holding a 
> semaphore, since other threads waiting on the semaphore are also rescheduled 
> (instead of just spinning).




More information about the dm-devel mailing list