Messages in this thread | | | Date | Tue, 12 Oct 1999 00:13:37 +0200 | From | Manfred Spraul <> | Subject | Re: locking question: do_mmap(), do_munmap() |
| |
Alexander Viro wrote: > What does it buy you over the simple semaphore here? Do you really see a > contention scenario?
I think you are right, I see no case where a normal semaphore would lock-up and the rw semaphore would not lock up.
we win something _if_ vm_ops->swapout() is extremely slow: * with lock_kernel() [ie currently], multiple threads can sleep within vm_ops->swapout() of the same "struct mm" * an rw-semaphore would mimic that behaviour. * a normal semaphore would prevent that.
I'm not sure if it is worth to implement a rw-semaphore, especially since we win something in a very obscure case, but we loose cpu-cycles for every down_rw()/up_rw() [there is no 2 asm-instruction rw-semaphore]
-- Manfred
- 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/
| |