mm, tracing: improve rss_stat tracepoint message
Adjust the rss_stat tracepoint to print the name of the resident page type that got updated (e.g. MM_ANONPAGES/MM_FILEPAGES), rather than the numeric index corresponding to it (the __entry->member value): Before this patch: ------------------ rss_stat: mm_id=1216113068 curr=0 member=1 size=28672B rss_stat: mm_id=1216113068 curr=0 member=1 size=0B rss_stat: mm_id=534402304 curr=1 member=0 size=188416B rss_stat: mm_id=534402304 curr=1 member=1 size=40960B After this patch: ----------------- rss_stat: mm_id=1726253524 curr=1 type=MM_ANONPAGES size=40960B rss_stat: mm_id=1726253524 curr=1 type=MM_FILEPAGES size=663552B rss_stat: mm_id=1726253524 curr=1 type=MM_ANONPAGES size=65536B rss_stat: mm_id=1726253524 curr=1 type=MM_FILEPAGES size=647168B Use TRACE_DEFINE_ENUM()/__print_symbolic() logic to map the enum values to the strings they represent, so that userspace tools can also parse the raw data correctly. Link: https://lkml.kernel.org/r/20210310162305.4862-1-ovidiu.panait@windriver.com Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
faf1c0008a
commit
f900110782
@ -343,6 +343,26 @@ static unsigned int __maybe_unused mm_ptr_to_hash(const void *ptr)
|
||||
#define __PTR_TO_HASHVAL
|
||||
#endif
|
||||
|
||||
#define TRACE_MM_PAGES \
|
||||
EM(MM_FILEPAGES) \
|
||||
EM(MM_ANONPAGES) \
|
||||
EM(MM_SWAPENTS) \
|
||||
EMe(MM_SHMEMPAGES)
|
||||
|
||||
#undef EM
|
||||
#undef EMe
|
||||
|
||||
#define EM(a) TRACE_DEFINE_ENUM(a);
|
||||
#define EMe(a) TRACE_DEFINE_ENUM(a);
|
||||
|
||||
TRACE_MM_PAGES
|
||||
|
||||
#undef EM
|
||||
#undef EMe
|
||||
|
||||
#define EM(a) { a, #a },
|
||||
#define EMe(a) { a, #a }
|
||||
|
||||
TRACE_EVENT(rss_stat,
|
||||
|
||||
TP_PROTO(struct mm_struct *mm,
|
||||
@ -365,10 +385,10 @@ TRACE_EVENT(rss_stat,
|
||||
__entry->size = (count << PAGE_SHIFT);
|
||||
),
|
||||
|
||||
TP_printk("mm_id=%u curr=%d member=%d size=%ldB",
|
||||
TP_printk("mm_id=%u curr=%d type=%s size=%ldB",
|
||||
__entry->mm_id,
|
||||
__entry->curr,
|
||||
__entry->member,
|
||||
__print_symbolic(__entry->member, TRACE_MM_PAGES),
|
||||
__entry->size)
|
||||
);
|
||||
#endif /* _TRACE_KMEM_H */
|
||||
|
Loading…
Reference in New Issue
Block a user