Commit b3a5a7b0 authored by Uladzislau Rezki (Sony)'s avatar Uladzislau Rezki (Sony) Committed by Andrew Morton
Browse files

mm: vmalloc: add purge_vmap_area_lazy trace event

It is for debug purposes to track number of freed vmap areas including a
range it occurs on.

Link: https://lkml.kernel.org/r/20221018181053.434508-3-urezki@gmail.com


Signed-off-by: default avatarUladzislau Rezki (Sony) <urezki@gmail.com>
Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Oleksiy Avramchenko <oleksiy.avramchenko@sony.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 3c0c9bc9
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -50,6 +50,39 @@ TRACE_EVENT(alloc_vmap_area,
		__entry->vstart, __entry->vend, __entry->failed)
);

/**
 * purge_vmap_area_lazy - called when vmap areas were lazily freed
 * @start:		purging start address
 * @end:		purging end address
 * @npurged:	numbed of purged vmap areas
 *
 * This event is used for a debug purpose. It gives some
 * indication about start:end range and how many objects
 * are released.
 */
TRACE_EVENT(purge_vmap_area_lazy,

	TP_PROTO(unsigned long start, unsigned long end,
		unsigned int npurged),

	TP_ARGS(start, end, npurged),

	TP_STRUCT__entry(
		__field(unsigned long, start)
		__field(unsigned long, end)
		__field(unsigned int, npurged)
	),

	TP_fast_assign(
		__entry->start = start;
		__entry->end = end;
		__entry->npurged = npurged;
	),

	TP_printk("start=0x%lx end=0x%lx num_purged=%u",
		__entry->start, __entry->end, __entry->npurged)
);

#endif /*  _TRACE_VMALLOC_H */

/* This part must be outside protection */