patch-2.1.127 linux/mm/mmap.c
Next file: linux/mm/page_alloc.c
Previous file: linux/mm/memory.c
Back to the patch index
Back to the overall index
- Lines: 22
- Date:
Thu Oct 29 22:35:02 1998
- Orig file:
v2.1.126/linux/mm/mmap.c
- Orig date:
Wed Aug 26 11:37:45 1998
diff -u --recursive --new-file v2.1.126/linux/mm/mmap.c linux/mm/mmap.c
@@ -93,7 +93,21 @@
struct mm_struct *mm = current->mm;
down(&mm->mmap_sem);
+
+ /*
+ * This lock-kernel is one of the main contention points for
+ * certain normal loads. And it really should not be here: almost
+ * everything in brk()/mmap()/munmap() is protected sufficiently by
+ * the mmap semaphore that we got above.
+ *
+ * We should move this into the few things that really want the
+ * lock, namely anything that actually touches a file descriptor
+ * etc. We can do all the normal anonymous mapping cases without
+ * ever getting the lock at all - the actual memory management
+ * code is already completely thread-safe.
+ */
lock_kernel();
+
if (brk < mm->end_code)
goto out;
newbrk = PAGE_ALIGN(brk);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov