summaryrefslogtreecommitdiffstats
path: root/mm/percpu-km.c
diff options
context:
space:
mode:
authorDennis Zhou <dennisz@fb.com>2017-06-20 01:28:32 +0200
committerTejun Heo <tj@kernel.org>2017-06-20 21:31:43 +0200
commitdf95e795a722892a9e0603ce4b9b62fab9f02967 (patch)
treef26b6c6c78874be2b866d516c42da69a67acc07c /mm/percpu-km.c
parentpercpu: expose statistics about percpu memory via debugfs (diff)
downloadlinux-df95e795a722892a9e0603ce4b9b62fab9f02967.tar.xz
linux-df95e795a722892a9e0603ce4b9b62fab9f02967.zip
percpu: add tracepoint support for percpu memory
Add support for tracepoints to the following events: chunk allocation, chunk free, area allocation, area free, and area allocation failure. This should let us replay percpu memory requests and evaluate corresponding decisions. Signed-off-by: Dennis Zhou <dennisz@fb.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'mm/percpu-km.c')
-rw-r--r--mm/percpu-km.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/percpu-km.c b/mm/percpu-km.c
index 3bbfa0c9d069..2b79e43c626f 100644
--- a/mm/percpu-km.c
+++ b/mm/percpu-km.c
@@ -73,6 +73,7 @@ static struct pcpu_chunk *pcpu_create_chunk(void)
spin_unlock_irq(&pcpu_lock);
pcpu_stats_chunk_alloc();
+ trace_percpu_create_chunk(chunk->base_addr);
return chunk;
}
@@ -82,6 +83,7 @@ static void pcpu_destroy_chunk(struct pcpu_chunk *chunk)
const int nr_pages = pcpu_group_sizes[0] >> PAGE_SHIFT;
pcpu_stats_chunk_dealloc();
+ trace_percpu_destroy_chunk(chunk->base_addr);
if (chunk && chunk->data)
__free_pages(chunk->data, order_base_2(nr_pages));