mm/vmalloc: make show_numa_info() aware of hugepage mappings
show_numa_info() can be slightly faster, by skipping over hugepages directly. Link: https://lkml.kernel.org/r/20211001172725.105824-1-eric.dumazet@gmail.com Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Uladzislau Rezki (Sony) <urezki@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
bd1a8fb2d4
commit
51e50b3a22
|
@ -3864,6 +3864,7 @@ static void show_numa_info(struct seq_file *m, struct vm_struct *v)
|
|||
{
|
||||
if (IS_ENABLED(CONFIG_NUMA)) {
|
||||
unsigned int nr, *counters = m->private;
|
||||
unsigned int step = 1U << vm_area_page_order(v);
|
||||
|
||||
if (!counters)
|
||||
return;
|
||||
|
@ -3875,9 +3876,8 @@ static void show_numa_info(struct seq_file *m, struct vm_struct *v)
|
|||
|
||||
memset(counters, 0, nr_node_ids * sizeof(unsigned int));
|
||||
|
||||
for (nr = 0; nr < v->nr_pages; nr++)
|
||||
counters[page_to_nid(v->pages[nr])]++;
|
||||
|
||||
for (nr = 0; nr < v->nr_pages; nr += step)
|
||||
counters[page_to_nid(v->pages[nr])] += step;
|
||||
for_each_node_state(nr, N_HIGH_MEMORY)
|
||||
if (counters[nr])
|
||||
seq_printf(m, " N%u=%u", nr, counters[nr]);
|
||||
|
|
Loading…
Reference in New Issue