mm/memcg: move reclaim_stat into lruvec
With mem_cgroup_disabled() now explicit, it becomes clear that the zone_reclaim_stat structure actually belongs in lruvec, per-zone when memcg is disabled but per-memcg per-zone when it's enabled. We can delete mem_cgroup_get_reclaim_stat(), and change update_page_reclaim_stat() to update just the one set of stats, the one which get_scan_count() will actually use. Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Michal Hocko <mhocko@suse.cz> Reviewed-by: Minchan Kim <minchan@kernel.org> Reviewed-by: Michal Hocko <mhocko@suse.cz> Cc: Glauber Costa <glommer@parallels.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
c3c787e8c3
commit
89abfab133
@@ -312,21 +312,15 @@ void rotate_reclaimable_page(struct page *page)
|
||||
static void update_page_reclaim_stat(struct zone *zone, struct page *page,
|
||||
int file, int rotated)
|
||||
{
|
||||
struct zone_reclaim_stat *reclaim_stat = &zone->reclaim_stat;
|
||||
struct zone_reclaim_stat *memcg_reclaim_stat;
|
||||
struct zone_reclaim_stat *reclaim_stat;
|
||||
|
||||
memcg_reclaim_stat = mem_cgroup_get_reclaim_stat_from_page(page);
|
||||
reclaim_stat = mem_cgroup_get_reclaim_stat_from_page(page);
|
||||
if (!reclaim_stat)
|
||||
reclaim_stat = &zone->lruvec.reclaim_stat;
|
||||
|
||||
reclaim_stat->recent_scanned[file]++;
|
||||
if (rotated)
|
||||
reclaim_stat->recent_rotated[file]++;
|
||||
|
||||
if (!memcg_reclaim_stat)
|
||||
return;
|
||||
|
||||
memcg_reclaim_stat->recent_scanned[file]++;
|
||||
if (rotated)
|
||||
memcg_reclaim_stat->recent_rotated[file]++;
|
||||
}
|
||||
|
||||
static void __activate_page(struct page *page, void *arg)
|
||||
|
||||
Reference in New Issue
Block a user