Message ID | 20210729092841.38175-1-ligang.bdlg@bytedance.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mmap: mmap_lock: some improvments | expand |
Reviewed-by: Axel Rasmussen <axelrasmussen@google.com> On Thu, Jul 29, 2021 at 2:28 AM Gang Li <ligang.bdlg@bytedance.com> wrote: > > By using DECLARE_EVENT_CLASS and TRACE_EVENT_FN, we can save a lot > of space from duplicate code. > > Signed-off-by: Gang Li <ligang.bdlg@bytedance.com> > --- > include/trace/events/mmap_lock.h | 44 +++++++++----------------------- > 1 file changed, 12 insertions(+), 32 deletions(-) > > diff --git a/include/trace/events/mmap_lock.h b/include/trace/events/mmap_lock.h > index 5f980c92e3e9..b9dd66f9c226 100644 > --- a/include/trace/events/mmap_lock.h > +++ b/include/trace/events/mmap_lock.h > @@ -13,7 +13,7 @@ struct mm_struct; > extern int trace_mmap_lock_reg(void); > extern void trace_mmap_lock_unreg(void); > > -TRACE_EVENT_FN(mmap_lock_start_locking, > +DECLARE_EVENT_CLASS(mmap_lock, > > TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), > > @@ -36,11 +36,19 @@ TRACE_EVENT_FN(mmap_lock_start_locking, > __entry->mm, > __get_str(memcg_path), > __entry->write ? "true" : "false" > - ), > - > - trace_mmap_lock_reg, trace_mmap_lock_unreg > + ) > ); > > +#define DEFINE_MMAP_LOCK_EVENT(name) \ > + DEFINE_EVENT_FN(mmap_lock, name, \ > + TP_PROTO(struct mm_struct *mm, const char *memcg_path, \ > + bool write), \ > + TP_ARGS(mm, memcg_path, write), \ > + trace_mmap_lock_reg, trace_mmap_lock_unreg) > + > +DEFINE_MMAP_LOCK_EVENT(mmap_lock_start_locking); > +DEFINE_MMAP_LOCK_EVENT(mmap_lock_released); > + > TRACE_EVENT_FN(mmap_lock_acquire_returned, > > TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write, > @@ -73,34 +81,6 @@ TRACE_EVENT_FN(mmap_lock_acquire_returned, > trace_mmap_lock_reg, trace_mmap_lock_unreg > ); > > -TRACE_EVENT_FN(mmap_lock_released, > - > - TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), > - > - TP_ARGS(mm, memcg_path, write), > - > - TP_STRUCT__entry( > - __field(struct mm_struct *, mm) > - __string(memcg_path, memcg_path) > - __field(bool, write) > - ), > - > - TP_fast_assign( > - __entry->mm = mm; > - __assign_str(memcg_path, memcg_path); > - __entry->write = write; > - ), > - > - TP_printk( > - "mm=%p memcg_path=%s write=%s", > - __entry->mm, > - __get_str(memcg_path), > - __entry->write ? "true" : "false" > - ), > - > - trace_mmap_lock_reg, trace_mmap_lock_unreg > -); > - > #endif /* _TRACE_MMAP_LOCK_H */ > > /* This part must be outside protection */ > -- > 2.20.1 >
On Thu, Jul 29, 2021 at 5:28 PM Gang Li <ligang.bdlg@bytedance.com> wrote: > > By using DECLARE_EVENT_CLASS and TRACE_EVENT_FN, we can save a lot > of space from duplicate code. > > Signed-off-by: Gang Li <ligang.bdlg@bytedance.com> Reviewed-by: Muchun Song <songmuchun@bytedance.com>
diff --git a/include/trace/events/mmap_lock.h b/include/trace/events/mmap_lock.h index 5f980c92e3e9..b9dd66f9c226 100644 --- a/include/trace/events/mmap_lock.h +++ b/include/trace/events/mmap_lock.h @@ -13,7 +13,7 @@ struct mm_struct; extern int trace_mmap_lock_reg(void); extern void trace_mmap_lock_unreg(void); -TRACE_EVENT_FN(mmap_lock_start_locking, +DECLARE_EVENT_CLASS(mmap_lock, TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), @@ -36,11 +36,19 @@ TRACE_EVENT_FN(mmap_lock_start_locking, __entry->mm, __get_str(memcg_path), __entry->write ? "true" : "false" - ), - - trace_mmap_lock_reg, trace_mmap_lock_unreg + ) ); +#define DEFINE_MMAP_LOCK_EVENT(name) \ + DEFINE_EVENT_FN(mmap_lock, name, \ + TP_PROTO(struct mm_struct *mm, const char *memcg_path, \ + bool write), \ + TP_ARGS(mm, memcg_path, write), \ + trace_mmap_lock_reg, trace_mmap_lock_unreg) + +DEFINE_MMAP_LOCK_EVENT(mmap_lock_start_locking); +DEFINE_MMAP_LOCK_EVENT(mmap_lock_released); + TRACE_EVENT_FN(mmap_lock_acquire_returned, TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write, @@ -73,34 +81,6 @@ TRACE_EVENT_FN(mmap_lock_acquire_returned, trace_mmap_lock_reg, trace_mmap_lock_unreg ); -TRACE_EVENT_FN(mmap_lock_released, - - TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), - - TP_ARGS(mm, memcg_path, write), - - TP_STRUCT__entry( - __field(struct mm_struct *, mm) - __string(memcg_path, memcg_path) - __field(bool, write) - ), - - TP_fast_assign( - __entry->mm = mm; - __assign_str(memcg_path, memcg_path); - __entry->write = write; - ), - - TP_printk( - "mm=%p memcg_path=%s write=%s", - __entry->mm, - __get_str(memcg_path), - __entry->write ? "true" : "false" - ), - - trace_mmap_lock_reg, trace_mmap_lock_unreg -); - #endif /* _TRACE_MMAP_LOCK_H */ /* This part must be outside protection */
By using DECLARE_EVENT_CLASS and TRACE_EVENT_FN, we can save a lot of space from duplicate code. Signed-off-by: Gang Li <ligang.bdlg@bytedance.com> --- include/trace/events/mmap_lock.h | 44 +++++++++----------------------- 1 file changed, 12 insertions(+), 32 deletions(-)