mm: remove zone_lru_lock() function, access ->lru_lock directly
We have common pattern to access lru_lock from a page pointer: zone_lru_lock(page_zone(page)) Which is silly, because it unfolds to this: &NODE_DATA(page_to_nid(page))->node_zones[page_zonenum(page)]->zone_pgdat->lru_lock while we can simply do &NODE_DATA(page_to_nid(page))->lru_lock Remove zone_lru_lock() function, since it's only complicate things. Use 'page_pgdat(page)->lru_lock' pattern instead. [aryabinin@virtuozzo.com: a slightly better version of __split_huge_page()] Link: http://lkml.kernel.org/r/20190301121651.7741-1-aryabinin@virtuozzo.com Link: http://lkml.kernel.org/r/20190228083329.31892-2-aryabinin@virtuozzo.com Signed-off-by:Andrey Ryabinin <aryabinin@virtuozzo.com> Acked-by:
Vlastimil Babka <vbabka@suse.cz> Acked-by:
Mel Gorman <mgorman@techsingularity.net> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@kernel.org> Cc: Rik van Riel <riel@surriel.com> Cc: William Kucharski <william.kucharski@oracle.com> Cc: John Hubbard <jhubbard@nvidia.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- Documentation/cgroup-v1/memcg_test.txt 2 additions, 2 deletionsDocumentation/cgroup-v1/memcg_test.txt
- Documentation/cgroup-v1/memory.txt 2 additions, 2 deletionsDocumentation/cgroup-v1/memory.txt
- include/linux/mm_types.h 1 addition, 1 deletioninclude/linux/mm_types.h
- include/linux/mmzone.h 0 additions, 4 deletionsinclude/linux/mmzone.h
- mm/compaction.c 8 additions, 7 deletionsmm/compaction.c
- mm/filemap.c 2 additions, 2 deletionsmm/filemap.c
- mm/huge_memory.c 5 additions, 5 deletionsmm/huge_memory.c
- mm/memcontrol.c 7 additions, 7 deletionsmm/memcontrol.c
- mm/mlock.c 7 additions, 7 deletionsmm/mlock.c
- mm/page_idle.c 4 additions, 4 deletionsmm/page_idle.c
- mm/rmap.c 1 addition, 1 deletionmm/rmap.c
- mm/swap.c 8 additions, 8 deletionsmm/swap.c
- mm/vmscan.c 8 additions, 8 deletionsmm/vmscan.c
Loading
Please register or sign in to comment