Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb01aaab authored by Vladimir Davydov's avatar Vladimir Davydov Committed by Linus Torvalds
Browse files

mm: memcontrol: replace mem_cgroup_lruvec_online with mem_cgroup_online



mem_cgroup_lruvec_online() takes lruvec, but it only needs memcg.  Since
get_scan_count(), which is the only user of this function, now possesses
pointer to memcg, let's pass memcg directly to mem_cgroup_online() instead
of picking it out of lruvec and rename the function accordingly.

Signed-off-by: default avatarVladimir Davydov <vdavydov@virtuozzo.com>
Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 33377678
Loading
Loading
Loading
Loading
+10 −17
Original line number Diff line number Diff line
@@ -355,6 +355,13 @@ static inline bool mem_cgroup_disabled(void)
	return !cgroup_subsys_enabled(memory_cgrp_subsys);
}

static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
{
	if (mem_cgroup_disabled())
		return true;
	return !!(memcg->css.flags & CSS_ONLINE);
}

/*
 * For memory reclaim.
 */
@@ -363,20 +370,6 @@ int mem_cgroup_select_victim_node(struct mem_cgroup *memcg);
void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
		int nr_pages);

static inline bool mem_cgroup_lruvec_online(struct lruvec *lruvec)
{
	struct mem_cgroup_per_zone *mz;
	struct mem_cgroup *memcg;

	if (mem_cgroup_disabled())
		return true;

	mz = container_of(lruvec, struct mem_cgroup_per_zone, lruvec);
	memcg = mz->memcg;

	return !!(memcg->css.flags & CSS_ONLINE);
}

static inline
unsigned long mem_cgroup_get_lru_size(struct lruvec *lruvec, enum lru_list lru)
{
@@ -589,13 +582,13 @@ static inline bool mem_cgroup_disabled(void)
	return true;
}

static inline bool
mem_cgroup_inactive_anon_is_low(struct lruvec *lruvec)
static inline bool mem_cgroup_online(struct mem_cgroup *memcg)
{
	return true;
}

static inline bool mem_cgroup_lruvec_online(struct lruvec *lruvec)
static inline bool
mem_cgroup_inactive_anon_is_low(struct lruvec *lruvec)
{
	return true;
}
+1 −1
Original line number Diff line number Diff line
@@ -1997,7 +1997,7 @@ static void get_scan_count(struct lruvec *lruvec, struct mem_cgroup *memcg,
	if (current_is_kswapd()) {
		if (!zone_reclaimable(zone))
			force_scan = true;
		if (!mem_cgroup_lruvec_online(lruvec))
		if (!mem_cgroup_online(memcg))
			force_scan = true;
	}
	if (!global_reclaim(sc))