Messages in this thread | | | Date | Mon, 11 Oct 1999 18:31:37 -0400 (EDT) | From | Alexander Viro <> | Subject | Re: locking question: do_mmap(), do_munmap() |
| |
On Mon, 11 Oct 1999, Stephen C. Tweedie wrote:
> Hi, > > On Mon, 11 Oct 1999 17:40:52 -0400 (EDT), Alexander Viro > <viro@math.psu.edu> said: > > > Agreed, but the big lock does not (and IMHO should not) cover the vma list > > modifications. > > Fine, but as I've said you need _something_. It doesn't matter what, > but the fact that the kernel lock is no longer being held for vma > updates has introduced swapper races. We can't fix those without either > restoring or replacing the big lock.
And spinlock being released in the ->swapout() is outright ugly. OK, so we are adding to mm_struct a new semaphore (vma_sem) and getting it around the places where the list is modified + in the swapper (for scanning). In normal situation it will never give us contention - everyone except swapper uses it with mmap_sem already held. Are there any objections against it? If it's OK I'll go ahead and do it. Comments?
- 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/
| |