Re: [PATCH] Lockdep treats down_write_trylock like regular down_write

2007-04-10 Thread Pavel Emelianov
Arjan van de Ven wrote: > Pavel Emelianov wrote: >> This causes constructions like >> >> down_write(&mm1->mmap_sem); >> if (down_write_trylock(&mm2->mmap_sem)) { >>... >>up_write(&mm2->mmap_sem); >> } >> up_write(&mm1->mmap_sem); >> >> generate a lockdep warning about circular locki

Re: [PATCH] Lockdep treats down_write_trylock like regular down_write

2007-04-09 Thread Arjan van de Ven
Pavel Emelianov wrote: This causes constructions like down_write(&mm1->mmap_sem); if (down_write_trylock(&mm2->mmap_sem)) { ... up_write(&mm2->mmap_sem); } up_write(&mm1->mmap_sem); generate a lockdep warning about circular locking dependence. please show me why this is safe, es

[PATCH] Lockdep treats down_write_trylock like regular down_write

2007-04-09 Thread Pavel Emelianov
This causes constructions like down_write(&mm1->mmap_sem); if (down_write_trylock(&mm2->mmap_sem)) { ... up_write(&mm2->mmap_sem); } up_write(&mm1->mmap_sem); generate a lockdep warning about circular locking dependence. Call rwsem_acquire() with trylock set to 1. --- ./kernel/rwse