[PATCH v2 2/7] mm: vmalloc: Add purge_vmap_area_lazy trace event

From: Uladzislau Rezki (Sony)
Date: Tue Oct 18 2022 - 14:11:09 EST


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

Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
---
include/trace/events/vmalloc.h | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

diff --git a/include/trace/events/vmalloc.h b/include/trace/events/vmalloc.h
index 39fbd77c91e7..afeb8003a0f2 100644
--- a/include/trace/events/vmalloc.h
+++ b/include/trace/events/vmalloc.h
@@ -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 */
--
2.30.2