mm: move most file-based accounting to the node
authorMel Gorman <mgorman@techsingularity.net>
Thu, 28 Jul 2016 22:46:20 +0000 (15:46 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 28 Jul 2016 23:07:41 +0000 (16:07 -0700)
commit11fb998986a72aa7e997d96d63d52582a01228c5
treefd9db095081c4fe2212db7de2757bfdf4645dc04
parent4b9d0fab7166c9323f06d708518a35cf3a90426c
mm: move most file-based accounting to the node

There are now a number of accounting oddities such as mapped file pages
being accounted for on the node while the total number of file pages are
accounted on the zone.  This can be coped with to some extent but it's
confusing so this patch moves the relevant file-based accounted.  Due to
throttling logic in the page allocator for reliable OOM detection, it is
still necessary to track dirty and writeback pages on a per-zone basis.

[mgorman@techsingularity.net: fix NR_ZONE_WRITE_PENDING accounting]
Link: http://lkml.kernel.org/r/1468404004-5085-5-git-send-email-mgorman@techsingularity.net
Link: http://lkml.kernel.org/r/1467970510-21195-20-git-send-email-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Rik van Riel <riel@surriel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
24 files changed:
arch/s390/appldata/appldata_mem.c
arch/tile/mm/pgtable.c
drivers/base/node.c
drivers/staging/android/lowmemorykiller.c
drivers/staging/lustre/lustre/osc/osc_cache.c
fs/fs-writeback.c
fs/fuse/file.c
fs/nfs/internal.h
fs/nfs/write.c
fs/proc/meminfo.c
include/linux/mmzone.h
include/trace/events/writeback.h
mm/filemap.c
mm/huge_memory.c
mm/khugepaged.c
mm/migrate.c
mm/page-writeback.c
mm/page_alloc.c
mm/rmap.c
mm/shmem.c
mm/swap_state.c
mm/util.c
mm/vmscan.c
mm/vmstat.c