Messages in this thread Patch in this message | | | Date | Fri, 25 Jun 2004 18:39:47 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] mm lock ordering summary |
| |
Hugh Dickins <hugh@veritas.com> wrote: > > please add page_map_lock and anon_vma->lock (but where and how many?).
Like this?
There seem to be a few missing bits.
--- 25/mm/filemap.c~lock-ordering-update 2004-06-25 18:37:32.565669464 -0700 +++ 25-akpm/mm/filemap.c 2004-06-25 18:37:32.570668704 -0700 @@ -55,16 +55,17 @@ /* * Lock ordering: * * ->i_mmap_lock (vmtruncate) * ->private_lock (__free_pte->__set_page_dirty_buffers) * ->swap_list_lock * ->swap_device_lock (exclusive_swap_page, others) * ->mapping->tree_lock + * ->page_map_lock() (try_to_unmap_file) * * ->i_sem * ->i_mmap_lock (truncate->unmap_mapping_range) * * ->mmap_sem * ->i_mmap_lock * ->page_table_lock (various places, mainly in mmap.c) * ->mapping->tree_lock (arch-dependent flush_dcache_mmap_lock) @@ -82,16 +83,20 @@ * ->sb_lock (fs/fs-writeback.c) * ->mapping->tree_lock (__sync_single_inode) * * ->page_table_lock * ->swap_device_lock (try_to_unmap_one) * ->private_lock (try_to_unmap_one) * ->tree_lock (try_to_unmap_one) * ->zone.lru_lock (follow_page->mark_page_accessed) + * ->page_map_lock() (page_add_anon_rmap) + * ->anon_vma.lock (anon_vma_prepare) + * ->inode_lock (zap_pte_range->set_page_dirty) + * ->private_lock (zap_pte_range->__set_page_dirty_buffers) * * ->task->proc_lock * ->dcache_lock (proc_pid_lookup) */ /* * Remove a page from the page cache and free it. Caller has to make * sure the page is locked and that nobody else uses it - or that usage _ - 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/
| |