提交 39cb4823 编写于 作者: M Ma Wupeng 提交者: Yang Yingliang

mm: Refactor code in reliable_report_meminfo()

hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I4SK3S
CVE: NA

--------------------------------

Now reliable_report_meminfo() will exit if memory reliable is not enabled.

Percpu counter nr_pagecache_pages will be sumed with nr_buddy_pages
together.
Signed-off-by: NMa Wupeng <mawupeng1@huawei.com>
Reviewed-by: Kefeng Wang<wangkefeng.wang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 c4bcb43e
...@@ -165,47 +165,47 @@ static unsigned long used_reliable_mem_sz(void) ...@@ -165,47 +165,47 @@ static unsigned long used_reliable_mem_sz(void)
return total_reliable_mem_sz() - nr_page * PAGE_SIZE; return total_reliable_mem_sz() - nr_page * PAGE_SIZE;
} }
static void show_val_kb(struct seq_file *m, const char *s, unsigned long num)
{
seq_put_decimal_ull_width(m, s, num << (PAGE_SHIFT - 10), 8);
seq_write(m, " kB\n", 4);
}
void reliable_report_meminfo(struct seq_file *m) void reliable_report_meminfo(struct seq_file *m)
{ {
long buddy_pages_sum = 0; bool pagecache_enabled = pagecache_reliable_is_enabled();
unsigned long nr_pagecache_pages = 0;
long nr_buddy_pages = 0;
int cpu; int cpu;
if (mem_reliable_is_enabled()) { if (!mem_reliable_is_enabled())
for_each_possible_cpu(cpu) return;
buddy_pages_sum +=
per_cpu(nr_reliable_buddy_pages, cpu);
seq_printf(m, "ReliableTotal: %8lu kB\n",
total_reliable_mem_sz() >> 10);
seq_printf(m, "ReliableUsed: %8lu kB\n",
used_reliable_mem_sz() >> 10);
seq_printf(m, "ReliableBuddyMem: %8lu kB\n",
buddy_pages_sum << (PAGE_SHIFT - 10));
if (shmem_reliable_is_enabled()) {
unsigned long shmem = (unsigned long)percpu_counter_sum(
&reliable_shmem_used_nr_page) << (PAGE_SHIFT - 10);
seq_printf(m, "ReliableShmem: %8lu kB\n", shmem);
}
if (pagecache_reliable_is_enabled()) { for_each_possible_cpu(cpu) {
unsigned long num = 0; nr_buddy_pages += per_cpu(nr_reliable_buddy_pages, cpu);
int cpu; if (pagecache_enabled)
nr_pagecache_pages +=
per_cpu(pagecache_reliable_pages, cpu);
}
num += global_node_page_state(NR_LRU_BASE + show_val_kb(m, "ReliableTotal: ",
LRU_ACTIVE_FILE); total_reliable_mem_sz() >> PAGE_SHIFT);
num += global_node_page_state(NR_LRU_BASE + show_val_kb(m, "ReliableUsed: ",
LRU_INACTIVE_FILE); used_reliable_mem_sz() >> PAGE_SHIFT);
seq_printf(m, "FileCache: %8lu kB\n", show_val_kb(m, "ReliableBuddyMem: ", nr_buddy_pages);
num << (PAGE_SHIFT - 10));
num = 0; if (shmem_reliable_is_enabled()) {
for_each_possible_cpu(cpu) show_val_kb(m, "ReliableShmem: ",
num += per_cpu(pagecache_reliable_pages, cpu); percpu_counter_sum(&reliable_shmem_used_nr_page));
}
seq_printf(m, "ReliableFileCache:%8lu kB\n", if (pagecache_enabled) {
num << (PAGE_SHIFT - 10)); unsigned long num = 0;
}
num += global_node_page_state(NR_LRU_BASE + LRU_ACTIVE_FILE);
num += global_node_page_state(NR_LRU_BASE + LRU_INACTIVE_FILE);
show_val_kb(m, "FileCache: ", num);
show_val_kb(m, "ReliableFileCache:", nr_pagecache_pages);
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册