mm: convert zone->managed_pages to atomic variable
totalram_pages, zone->managed_pages and totalhigh_pages updates are protected by managed_page_count_lock, but readers never care about it. Convert these variables to atomic to avoid readers potentially seeing a store tear. This patch converts zone->managed_pages. Subsequent patches will convert totalram_panges, totalhigh_pages and eventually managed_page_count_lock will be removed. Main motivation was that managed_page_count_lock handling was complicating things. It was discussed in length here, https://lore.kernel.org/patchwork/patch/995739/#1181785 So it seemes better to remove the lock and convert variables to atomic, with preventing poteintial store-to-read tearing as a bonus. Link: http://lkml.kernel.org/r/1542090790-21750-3-git-send-email-arunks@codeaurora.org Signed-off-by:Arun KS <arunks@codeaurora.org> Suggested-by:
Michal Hocko <mhocko@suse.com> Suggested-by:
Vlastimil Babka <vbabka@suse.cz> Reviewed-by:
Konstantin Khlebnikov <khlebnikov@yandex-team.ru> Reviewed-by:
David Hildenbrand <david@redhat.com> Acked-by:
Michal Hocko <mhocko@suse.com> Acked-by:
Vlastimil Babka <vbabka@suse.cz> Reviewed-by:
Pavel Tatashin <pasha.tatashin@soleen.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
Showing
- drivers/gpu/drm/amd/amdkfd/kfd_crat.c 1 addition, 1 deletiondrivers/gpu/drm/amd/amdkfd/kfd_crat.c
- include/linux/mmzone.h 7 additions, 2 deletionsinclude/linux/mmzone.h
- lib/show_mem.c 1 addition, 1 deletionlib/show_mem.c
- mm/memblock.c 1 addition, 1 deletionmm/memblock.c
- mm/page_alloc.c 22 additions, 22 deletionsmm/page_alloc.c
- mm/vmstat.c 2 additions, 2 deletionsmm/vmstat.c
Loading
Please register or sign in to comment