summaryrefslogtreecommitdiffstats
path: root/mm/percpu-stats.c
diff options
context:
space:
mode:
authorDennis Zhou (Facebook) <dennisszhou@gmail.com>2017-07-25 01:02:08 +0200
committerTejun Heo <tj@kernel.org>2017-07-26 16:23:53 +0200
commit0cecf50cf00fbe6858908098ae6c6a9fd1d60724 (patch)
treeb44770aa79749b55e338dc0309d618e7baf0435a /mm/percpu-stats.c
parentpercpu: change the number of pages marked in the first_chunk pop bitmap (diff)
downloadlinux-0cecf50cf00fbe6858908098ae6c6a9fd1d60724.tar.xz
linux-0cecf50cf00fbe6858908098ae6c6a9fd1d60724.zip
percpu: introduce nr_empty_pop_pages to help empty page accounting
pcpu_nr_empty_pop_pages is used to ensure there are a handful of free pages around to serve atomic allocations. A new field, nr_empty_pop_pages, is added to the pcpu_chunk struct to keep track of the number of empty pages. This field is needed as the number of empty populated pages is globally tracked and deltas are used to update in the bitmap allocator. Pages that contain a hidden area are not considered to be empty. This new field is exposed in percpu_stats. Signed-off-by: Dennis Zhou <dennisszhou@gmail.com> Reviewed-by: Josef Bacik <jbacik@fb.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'mm/percpu-stats.c')
-rw-r--r--mm/percpu-stats.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/percpu-stats.c b/mm/percpu-stats.c
index ffbdb96cdbeb..e146b585fd18 100644
--- a/mm/percpu-stats.c
+++ b/mm/percpu-stats.c
@@ -100,6 +100,7 @@ static void chunk_map_stats(struct seq_file *m, struct pcpu_chunk *chunk,
P("nr_alloc", chunk->nr_alloc);
P("max_alloc_size", chunk->max_alloc_size);
+ P("empty_pop_pages", chunk->nr_empty_pop_pages);
P("free_size", chunk->free_size);
P("contig_hint", chunk->contig_hint);
P("sum_frag", sum_frag);