mm: document tree_lock->zone.lock lockorder
zone->lock is quite an "inner" lock and mostly constrained to page alloc as well, so like slab locks, it probably isn't something that is critically important to document here. However unlike slab locks, zone lock could be used more widely in future, and page_alloc.c might possibly have more business to do tricky things with pagecache than does slab. So... I don't think it hurts to document it. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d773ed6b85
commit
7a4050791b
|
@ -63,6 +63,7 @@ generic_file_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov,
|
||||||
* ->private_lock (__free_pte->__set_page_dirty_buffers)
|
* ->private_lock (__free_pte->__set_page_dirty_buffers)
|
||||||
* ->swap_lock (exclusive_swap_page, others)
|
* ->swap_lock (exclusive_swap_page, others)
|
||||||
* ->mapping->tree_lock
|
* ->mapping->tree_lock
|
||||||
|
* ->zone.lock
|
||||||
*
|
*
|
||||||
* ->i_mutex
|
* ->i_mutex
|
||||||
* ->i_mmap_lock (truncate->unmap_mapping_range)
|
* ->i_mmap_lock (truncate->unmap_mapping_range)
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
* mapping->tree_lock (widely used, in set_page_dirty,
|
* mapping->tree_lock (widely used, in set_page_dirty,
|
||||||
* in arch-dependent flush_dcache_mmap_lock,
|
* in arch-dependent flush_dcache_mmap_lock,
|
||||||
* within inode_lock in __sync_single_inode)
|
* within inode_lock in __sync_single_inode)
|
||||||
|
* zone->lock (within radix tree node alloc)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
|
|
Loading…
Reference in New Issue