[PATCH] mm/memory.c locking comments fix

From: Paul Menage (pmenage@ensim.com)
Date: Wed Jun 27 2001 - 23:14:45 EST


Some of the comments in and before handle_pte_fault() are obsolete or
misleading:

- page_table_lock has been pushed up into handle_mm_fault() and down
into the various do_xxx_page() handlers.

- mmap_sem protects the adding of vma structures to the vmlist, not
pages to the page tables.

Paul

--- linux/mm/memory.c Fri Apr 27 14:23:25 2001
+++ linux.new/mm/memory.c Wed Jun 27 20:57:48 2001
@@ -1280,14 +1280,10 @@
  * with external mmu caches can use to update those (ie the Sparc or
  * PowerPC hashed page tables that act as extended TLBs).
  *
- * Note the "page_table_lock". It is to protect against kswapd removing
- * pages from under us. Note that kswapd only ever _removes_ pages, never
- * adds them. As such, once we have noticed that the page is not present,
- * we can drop the lock early.
- *
- * The adding of pages is protected by the MM semaphore (which we hold),
- * so we don't need to worry about a page being suddenly been added into
- * our VM.
+ * The addition and removal of vma structures is protected by the MM
+ * semaphore (which we hold), so we don't need to worry about a vma
+ * being suddenly been added into our VM, or the vma that we hold
+ * becoming invalid.
  */
 static inline int handle_pte_fault(struct mm_struct *mm,
         struct vm_area_struct * vma, unsigned long address,
@@ -1297,11 +1293,6 @@
 
         entry = *pte;
         if (!pte_present(entry)) {
- /*
- * If it truly wasn't present, we know that kswapd
- * and the PTE updates will not touch it later. So
- * drop the lock.
- */
                 if (pte_none(entry))
                         return do_no_page(mm, vma, address, write_access, pte);
                 return do_swap_page(mm, vma, address, pte, pte_to_swp_entry(entry), write_access);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jun 30 2001 - 21:00:18 EST