From: Liam R. Howlett Date: Fri, 7 Aug 2020 11:57:15 +0000 (-0400) Subject: mmap: Rework tracing X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f5517b70d90b7c152c93de61f4dbb95c51a2da86;p=users%2Fjedix%2Flinux-maple.git mmap: Rework tracing Signed-off-by: Liam R. Howlett --- diff --git a/include/trace/events/mm_mt.h b/include/trace/events/mm_mt.h deleted file mode 100644 index 75b5e6ce660d..000000000000 --- a/include/trace/events/mm_mt.h +++ /dev/null @@ -1,125 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#undef TRACE_SYSTEM -#define TRACE_SYSTEM mm_mt - -#if !defined(_TRACE_MM_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_MM_H - - -#include - -struct mm_struct; -struct vm_area_struct; - -/** - * vma_mt_erase - called to erase an entry from the mm_mt - * - * @mm: the mm_struct which contains the mt - * @vma: the vma that is to be erased. - * - */ -TRACE_EVENT(vma_mt_erase, - - TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma), - - TP_ARGS(mm, vma), - - TP_STRUCT__entry( - __field(struct mm_struct *, mm) - __field(struct vm_area_struct *, vma) - __field(unsigned long, vm_start) - __field(unsigned long, vm_end) - ), - - TP_fast_assign( - __entry->mm = mm; - __entry->vma = vma; - __entry->vm_start = vma->vm_start; - __entry->vm_end = vma->vm_end - 1; - ), - - TP_printk("mt_mod %p, (%p), ERASE, %lu, %lu", - __entry->mm, __entry->vma, - (unsigned long) __entry->vm_start, - (unsigned long) __entry->vm_end - ) -); - -/** - * vma_mt_szero - Called to set a range to NULL in the mm_mt - * - */ -TRACE_EVENT(vma_mt_szero, - TP_PROTO(struct mm_struct *mm, unsigned long start, - unsigned long end), - - TP_ARGS(mm, start, end), - - TP_STRUCT__entry( - __field(struct mm_struct*, mm) - __field(unsigned long, start) - __field(unsigned long, end) - ), - - TP_fast_assign( - __entry->mm = mm; - __entry->start = start; - __entry->end = end - 1; - ), - - TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu", - __entry->mm, - (unsigned long) __entry->start, - (unsigned long) __entry->end - ) -); - -TRACE_EVENT(vma_mt_store, - TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma), - - TP_ARGS(mm, vma), - - TP_STRUCT__entry( - __field(struct mm_struct*, mm) - __field(struct vm_area_struct*, vma) - __field(unsigned long, vm_start) - __field(unsigned long, vm_end) - ), - - TP_fast_assign( - __entry->mm = mm; - __entry->vma = vma; - __entry->vm_start = vma->vm_start; - __entry->vm_end = vma->vm_end - 1; - ), - - TP_printk("mt_mod %p, (%p), STORE, %lu, %lu", - __entry->mm, __entry->vma, - (unsigned long) __entry->vm_start, - (unsigned long) __entry->vm_end - ) -); - - -TRACE_EVENT(exit_mmap, - TP_PROTO(struct mm_struct *mm), - - TP_ARGS(mm), - - TP_STRUCT__entry( - __field(struct mm_struct*, mm) - ), - - TP_fast_assign( - __entry->mm = mm; - ), - - TP_printk("mt_mod %p, DESTROY\n", - __entry->mm - ) -); - -#endif /* _TRACE_MM_H */ - -/* This part must be outside protection */ -#include diff --git a/include/trace/events/mmap.h b/include/trace/events/mmap.h index 4661f7ba07c0..cd1c7339c64a 100644 --- a/include/trace/events/mmap.h +++ b/include/trace/events/mmap.h @@ -42,6 +42,103 @@ TRACE_EVENT(vm_unmapped_area, __entry->low_limit, __entry->high_limit, __entry->align_mask, __entry->align_offset) ); +TRACE_EVENT(vma_mt_erase, + + TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma), + + TP_ARGS(mm, vma), + + TP_STRUCT__entry( + __field(struct mm_struct *, mm) + __field(struct vm_area_struct *, vma) + __field(unsigned long, vm_start) + __field(unsigned long, vm_end) + ), + + TP_fast_assign( + __entry->mm = mm; + __entry->vma = vma; + __entry->vm_start = vma->vm_start; + __entry->vm_end = vma->vm_end - 1; + ), + + TP_printk("mt_mod %p, (%p), ERASE, %lu, %lu", + __entry->mm, __entry->vma, + (unsigned long) __entry->vm_start, + (unsigned long) __entry->vm_end + ) +); + +TRACE_EVENT(vma_mt_szero, + TP_PROTO(struct mm_struct *mm, unsigned long start, + unsigned long end), + + TP_ARGS(mm, start, end), + + TP_STRUCT__entry( + __field(struct mm_struct*, mm) + __field(unsigned long, start) + __field(unsigned long, end) + ), + + TP_fast_assign( + __entry->mm = mm; + __entry->start = start; + __entry->end = end - 1; + ), + + TP_printk("mt_mod %p, (NULL), SNULL, %lu, %lu", + __entry->mm, + (unsigned long) __entry->start, + (unsigned long) __entry->end + ) +); + +TRACE_EVENT(vma_mt_store, + TP_PROTO(struct mm_struct *mm, struct vm_area_struct *vma), + + TP_ARGS(mm, vma), + + TP_STRUCT__entry( + __field(struct mm_struct*, mm) + __field(struct vm_area_struct*, vma) + __field(unsigned long, vm_start) + __field(unsigned long, vm_end) + ), + + TP_fast_assign( + __entry->mm = mm; + __entry->vma = vma; + __entry->vm_start = vma->vm_start; + __entry->vm_end = vma->vm_end - 1; + ), + + TP_printk("mt_mod %p, (%p), STORE, %lu, %lu", + __entry->mm, __entry->vma, + (unsigned long) __entry->vm_start, + (unsigned long) __entry->vm_end + ) +); + + +TRACE_EVENT(exit_mmap, + TP_PROTO(struct mm_struct *mm), + + TP_ARGS(mm), + + TP_STRUCT__entry( + __field(struct mm_struct*, mm) + ), + + TP_fast_assign( + __entry->mm = mm; + ), + + TP_printk("mt_mod %p, DESTROY\n", + __entry->mm + ) +); + #endif /* This part must be outside protection */ diff --git a/mm/mmap.c b/mm/mmap.c index d4acf913a4f6..5ca5bc35d972 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -54,7 +54,6 @@ #define CREATE_TRACE_POINTS #include -#include #include "internal.h" extern void mt_validate(struct maple_tree *mt);