read-write locks are a variant of spin locks. you can deadlock
the system if you go to sleep holding holding any spin lock.
the only exception is the kernel lock which has special code
to deal with it in schedule().
ideally the spinlock code (spin_lock and read_lock et al)
would have debug versions that counted how many locks were
held (in some per-cpu data structure), and have schedule()
check that this number was zero before putting the process
to sleep.
jan-simon.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/