summaryrefslogtreecommitdiff
path: root/Documentation/vm
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@vger.kernel.org>2002-04-23 08:19:51 -0400
committerDavid S. Miller <davem@nuts.ninka.net>2002-04-23 08:19:51 -0400
commit30746bbd9545ec11346d515e419878ea265bb4d7 (patch)
treea612c66c2a131f3961562c453773f0db08b65b3c /Documentation/vm
parent45fbecb1147007167ea78399f165ceae775d86e7 (diff)
cachetlb.txt, locking, fork.c, mremap.c, mprotect.c, memory.c:
Make sure that flush_tlb_range is called with PTL held. Also, make sure no new threads can start up in user mode while a tlb_gather_mmu is in progress.
Diffstat (limited to 'Documentation/vm')
-rw-r--r--Documentation/vm/locking7
1 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/vm/locking b/Documentation/vm/locking
index d7f07f8e639c..c90ff898e0da 100644
--- a/Documentation/vm/locking
+++ b/Documentation/vm/locking
@@ -77,6 +77,13 @@ The page_table_lock is grabbed while holding the kernel_lock spinning monitor.
The page_table_lock is a spin lock.
+Note: PTL can also be used to guarantee that no new clones using the
+mm start up ... this is a loose form of stability on mm_users. For
+example, it is used in copy_mm to protect against a racing tlb_gather_mmu
+single address space optimization, so that the zap_page_range (from
+vmtruncate) does not loose sending ipi's to cloned threads that might
+be spawned underneath it and go to user mode to drag in pte's into tlbs.
+
swap_list_lock/swap_device_lock
-------------------------------
The swap devices are chained in priority order from the "swap_list" header.