Revert "BACKPORT: ANDROID: Expose MGLRU admin file to sysfs"
This reverts commit 75e7a5e2265fb455c59f734d5ebddb6650a65753.
Change-Id: I72e346a23e6f99cca9db203f319d6dd1ae4a9d19
Signed-off-by: Kameron Lutes <[email protected]>
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 3a15ab1..23eda73 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -193,8 +193,6 @@ struct scan_control {
*/
int vm_swappiness = 60;
-struct kernfs_node *lru_gen_admin_node;
-
static void set_task_reclaim_state(struct task_struct *task,
struct reclaim_state *rs)
{
@@ -4198,7 +4196,6 @@ static void inc_max_seq(struct lruvec *lruvec, bool can_swap, bool full_scan)
spin_unlock_irq(&lruvec->lru_lock);
- kernfs_notify(lru_gen_admin_node);
trace_android_vh_mglru_new_gen(NULL);
}
@@ -5265,105 +5262,9 @@ static struct kobj_attribute lru_gen_enabled_attr = __ATTR(
enabled, 0644, show_enabled, store_enabled
);
-int print_node_mglru(struct lruvec *lruvec, char *buf, int orig_pos)
-{
- unsigned long seq;
- struct lru_gen_struct *lrugen = &lruvec->lrugen;
-
- DEFINE_MAX_SEQ(lruvec);
- DEFINE_MIN_SEQ(lruvec);
-
- int print_pos = orig_pos;
-
- seq = min(min_seq[0], min_seq[1]);
-
- for (; seq <= max_seq; seq++) {
- int gen, type, zone;
- unsigned int msecs;
-
- gen = lru_gen_from_seq(seq);
- msecs = jiffies_to_msecs(jiffies - READ_ONCE(lrugen->timestamps[gen]));
-
- print_pos += snprintf(buf + print_pos, PAGE_SIZE - print_pos,
- " %10lu %10u", seq, msecs);
-
- for (type = 0; type < ANON_AND_FILE; type++) {
- long size = 0;
-
- if (seq < min_seq[type]) {
- print_pos += snprintf(buf + print_pos,
- PAGE_SIZE - print_pos, " -0 ");
- continue;
- }
-
- for (zone = 0; zone < MAX_NR_ZONES; zone++)
- size += READ_ONCE(lrugen->nr_pages[gen][type][zone]);
-
- print_pos += snprintf(buf + print_pos,
- PAGE_SIZE - print_pos, " %10lu ", max(size, 0L));
- }
-
- print_pos += snprintf(buf + print_pos, PAGE_SIZE - print_pos, "\n");
-
- }
-
- return print_pos - orig_pos;
-}
-
-static ssize_t lru_gen_admin_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
-{
- struct lruvec *lruvec;
- struct mem_cgroup *memcg;
-
- char *path = kvmalloc(PATH_MAX, GFP_KERNEL);
- int buf_len = 0;
-
- if (!path)
- return -EINVAL;
- path[0] = 0;
- buf[0] = 0;
- memcg = mem_cgroup_iter(NULL, NULL, NULL);
- do {
- int nid;
-
- for_each_node_state(nid, N_MEMORY) {
- lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(nid));
- if (lruvec) {
- if (nid == first_memory_node) {
-#ifdef CONFIG_MEMCG
- if (memcg)
- cgroup_path(memcg->css.cgroup, path, PATH_MAX);
- else
- path[0] = 0;
-#endif
- buf_len += snprintf(buf + buf_len, PAGE_SIZE - buf_len,
- "memcg %5hu %s\n", mem_cgroup_id(memcg), path);
- }
-
- buf_len += snprintf(buf + buf_len, PAGE_SIZE - buf_len,
- " node %5d\n", nid);
- buf_len += print_node_mglru(lruvec, buf, buf_len);
- }
- }
- } while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)));
-
- if (buf_len >= PAGE_SIZE)
- buf_len = PAGE_SIZE - 1;
- buf[buf_len] = 0;
-
- kvfree(path);
-
- return buf_len;
-}
-
-static struct kobj_attribute lru_gen_admin_attr = __ATTR(
- admin, 0444, lru_gen_admin_show, NULL
-);
-
static struct attribute *lru_gen_attrs[] = {
&lru_gen_min_ttl_attr.attr,
&lru_gen_enabled_attr.attr,
- &lru_gen_admin_attr.attr,
NULL
};
@@ -5780,14 +5681,11 @@ void lru_gen_exit_memcg(struct mem_cgroup *memcg)
static int __init init_lru_gen(void)
{
- struct kernfs_node *tmp;
BUILD_BUG_ON(MIN_NR_GENS + 1 >= MAX_NR_GENS);
BUILD_BUG_ON(BIT(LRU_GEN_WIDTH) <= MAX_NR_GENS);
if (sysfs_create_group(mm_kobj, &lru_gen_attr_group))
pr_err("lru_gen: failed to create sysfs group\n");
- tmp = kernfs_find_and_get(mm_kobj->sd, "lru_gen");
- lru_gen_admin_node = kernfs_find_and_get(tmp, "admin");
debugfs_create_file("lru_gen", 0644, NULL, NULL, &lru_gen_rw_fops);
debugfs_create_file("lru_gen_full", 0444, NULL, NULL, &lru_gen_ro_fops);