summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/vmscan.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 619691aa4393..b87baf3fc77f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -5416,7 +5416,7 @@ static int lru_gen_seq_show(struct seq_file *m, void *v)
if (memcg)
cgroup_path(memcg->css.cgroup, m->private, PATH_MAX);
#endif
- seq_printf(m, "memcg %5hu %s\n", mem_cgroup_id(memcg), path);
+ seq_printf(m, "memcg %llu %s\n", mem_cgroup_ino(memcg), path);
}
seq_printf(m, " node %5d\n", nid);
@@ -5501,7 +5501,7 @@ static int run_eviction(struct lruvec *lruvec, unsigned long seq, struct scan_co
return -EINTR;
}
-static int run_cmd(char cmd, int memcg_id, int nid, unsigned long seq,
+static int run_cmd(char cmd, u64 memcg_id, int nid, unsigned long seq,
struct scan_control *sc, int swappiness, unsigned long opt)
{
struct lruvec *lruvec;
@@ -5512,19 +5512,12 @@ static int run_cmd(char cmd, int memcg_id, int nid, unsigned long seq,
return -EINVAL;
if (!mem_cgroup_disabled()) {
- rcu_read_lock();
-
- memcg = mem_cgroup_from_id(memcg_id);
- if (!mem_cgroup_tryget(memcg))
- memcg = NULL;
-
- rcu_read_unlock();
-
+ memcg = mem_cgroup_get_from_ino(memcg_id);
if (!memcg)
return -EINVAL;
}
- if (memcg_id != mem_cgroup_id(memcg))
+ if (memcg_id != mem_cgroup_ino(memcg))
goto done;
sc->target_mem_cgroup = memcg;
@@ -5591,7 +5584,7 @@ static ssize_t lru_gen_seq_write(struct file *file, const char __user *src,
int n;
int end;
char cmd, swap_string[5];
- unsigned int memcg_id;
+ u64 memcg_id;
unsigned int nid;
unsigned long seq;
unsigned int swappiness;
@@ -5601,7 +5594,7 @@ static ssize_t lru_gen_seq_write(struct file *file, const char __user *src,
if (!*cur)
continue;
- n = sscanf(cur, "%c %u %u %lu %n %4s %n %lu %n", &cmd, &memcg_id, &nid,
+ n = sscanf(cur, "%c %llu %u %lu %n %4s %n %lu %n", &cmd, &memcg_id, &nid,
&seq, &end, swap_string, &end, &opt, &end);
if (n < 4 || cur[end]) {
err = -EINVAL;