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 <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
This commit is contained in:
Dennis Zhou 2017-06-19 19:28:32 -04:00 • committed by Tejun Heo
commit df95e795a7
4 changed files with 141 additions and 0 deletions

View file

@ -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));