Re: [PATCH 4/7] rcu/trace: Print negative GP numbers correctly

2020-06-18 Thread Paul E. McKenney
On Thu, Jun 18, 2020 at 04:29:52PM -0400, Joel Fernandes (Google) wrote:
> GP numbers start from -300 and gp_seq numbers start of -1200 (for a
> shift of 2). These negative numbers are printed as unsigned long which
> not only takes up more text space, but is rather confusing to the reader
> as they have to constantly expend energy to truncate the number. Just
> print the negative numbering directly.

Good!  This also makes the ftrace versions of the grace-period sequence
numbers consistent with those of rcutorture.

Thanx, Paul

> Signed-off-by: Joel Fernandes (Google) 
> ---
>  include/trace/events/rcu.h | 62 --
>  1 file changed, 32 insertions(+), 30 deletions(-)
> 
> diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
> index cb5363564f7ed..bc24862790623 100644
> --- a/include/trace/events/rcu.h
> +++ b/include/trace/events/rcu.h
> @@ -76,18 +76,18 @@ TRACE_EVENT_RCU(rcu_grace_period,
>   TP_STRUCT__entry(
>   __field(const char *, rcuname)
>   __field(const char *, gp_seq_src)
> - __field(unsigned long, gp_seq)
> + __field(long, gp_seq)
>   __field(const char *, gpevent)
>   ),
>  
>   TP_fast_assign(
>   __entry->rcuname = rcuname;
>   __entry->gp_seq_src = gp_seq_src;
> - __entry->gp_seq = gp_seq;
> + __entry->gp_seq = (long)gp_seq;
>   __entry->gpevent = gpevent;
>   ),
>  
> - TP_printk("%s %s_gp_seq=%lu %s",
> + TP_printk("%s %s_gp_seq=%ld %s",
> __entry->rcuname, __entry->gp_seq_src,
> __entry->gp_seq, __entry->gpevent)
>  );
> @@ -118,8 +118,8 @@ TRACE_EVENT_RCU(rcu_future_grace_period,
>  
>   TP_STRUCT__entry(
>   __field(const char *, rcuname)
> - __field(unsigned long, gp_seq)
> - __field(unsigned long, gp_seq_req)
> + __field(long, gp_seq)
> + __field(long, gp_seq_req)
>   __field(u8, level)
>   __field(int, grplo)
>   __field(int, grphi)
> @@ -128,16 +128,16 @@ TRACE_EVENT_RCU(rcu_future_grace_period,
>  
>   TP_fast_assign(
>   __entry->rcuname = rcuname;
> - __entry->gp_seq = gp_seq;
> - __entry->gp_seq_req = gp_seq_req;
> + __entry->gp_seq = (long)gp_seq;
> + __entry->gp_seq_req = (long)gp_seq_req;
>   __entry->level = level;
>   __entry->grplo = grplo;
>   __entry->grphi = grphi;
>   __entry->gpevent = gpevent;
>   ),
>  
> - TP_printk("%s %lu %lu %u %d %d %s",
> -   __entry->rcuname, __entry->gp_seq, __entry->gp_seq_req, 
> __entry->level,
> + TP_printk("%s %ld %ld %u %d %d %s",
> +   __entry->rcuname, (long)__entry->gp_seq, 
> (long)__entry->gp_seq_req, __entry->level,
> __entry->grplo, __entry->grphi, __entry->gpevent)
>  );
>  
> @@ -157,7 +157,7 @@ TRACE_EVENT_RCU(rcu_grace_period_init,
>  
>   TP_STRUCT__entry(
>   __field(const char *, rcuname)
> - __field(unsigned long, gp_seq)
> + __field(long, gp_seq)
>   __field(u8, level)
>   __field(int, grplo)
>   __field(int, grphi)
> @@ -166,14 +166,14 @@ TRACE_EVENT_RCU(rcu_grace_period_init,
>  
>   TP_fast_assign(
>   __entry->rcuname = rcuname;
> - __entry->gp_seq = gp_seq;
> + __entry->gp_seq = (long)gp_seq;
>   __entry->level = level;
>   __entry->grplo = grplo;
>   __entry->grphi = grphi;
>   __entry->qsmask = qsmask;
>   ),
>  
> - TP_printk("%s %lu %u %d %d %lx",
> + TP_printk("%s %ld %u %d %d %lx",
> __entry->rcuname, __entry->gp_seq, __entry->level,
> __entry->grplo, __entry->grphi, __entry->qsmask)
>  );
> @@ -201,17 +201,17 @@ TRACE_EVENT_RCU(rcu_exp_grace_period,
>  
>   TP_STRUCT__entry(
>   __field(const char *, rcuname)
> - __field(unsigned long, gpseq)
> + __field(long, gpseq)
>   __field(const char *, gpevent)
>   ),
>  
>   TP_fast_assign(
>   __entry->rcuname = rcuname;
> - __entry->gpseq = gpseq;
> + __entry->gpseq = (long)gpseq;
>   __entry->gpevent = gpevent;
>   ),
>  
> - TP_printk("%s %lu %s",
> + TP_printk("%s %ld %s",
> __entry->rcuname, __entry->gpseq, __entry->gpevent)
>  );
>  
> @@ -320,17 +320,17 @@ TRACE_EVENT_RCU(rcu_preempt_task,
>  
>   TP_STRUCT__entry(
>   __field(const char *, rcuname)
> - __field(unsigned long, gp_seq)
> + __field(long, gp_seq)
>   __field(int, pid)
>   ),
>  
>   TP_fast_assign(
>   __entry->rcuname = rcuname;
> - 

[PATCH 4/7] rcu/trace: Print negative GP numbers correctly

2020-06-18 Thread Joel Fernandes (Google)
GP numbers start from -300 and gp_seq numbers start of -1200 (for a
shift of 2). These negative numbers are printed as unsigned long which
not only takes up more text space, but is rather confusing to the reader
as they have to constantly expend energy to truncate the number. Just
print the negative numbering directly.

Signed-off-by: Joel Fernandes (Google) 
---
 include/trace/events/rcu.h | 62 --
 1 file changed, 32 insertions(+), 30 deletions(-)

diff --git a/include/trace/events/rcu.h b/include/trace/events/rcu.h
index cb5363564f7ed..bc24862790623 100644
--- a/include/trace/events/rcu.h
+++ b/include/trace/events/rcu.h
@@ -76,18 +76,18 @@ TRACE_EVENT_RCU(rcu_grace_period,
TP_STRUCT__entry(
__field(const char *, rcuname)
__field(const char *, gp_seq_src)
-   __field(unsigned long, gp_seq)
+   __field(long, gp_seq)
__field(const char *, gpevent)
),
 
TP_fast_assign(
__entry->rcuname = rcuname;
__entry->gp_seq_src = gp_seq_src;
-   __entry->gp_seq = gp_seq;
+   __entry->gp_seq = (long)gp_seq;
__entry->gpevent = gpevent;
),
 
-   TP_printk("%s %s_gp_seq=%lu %s",
+   TP_printk("%s %s_gp_seq=%ld %s",
  __entry->rcuname, __entry->gp_seq_src,
  __entry->gp_seq, __entry->gpevent)
 );
@@ -118,8 +118,8 @@ TRACE_EVENT_RCU(rcu_future_grace_period,
 
TP_STRUCT__entry(
__field(const char *, rcuname)
-   __field(unsigned long, gp_seq)
-   __field(unsigned long, gp_seq_req)
+   __field(long, gp_seq)
+   __field(long, gp_seq_req)
__field(u8, level)
__field(int, grplo)
__field(int, grphi)
@@ -128,16 +128,16 @@ TRACE_EVENT_RCU(rcu_future_grace_period,
 
TP_fast_assign(
__entry->rcuname = rcuname;
-   __entry->gp_seq = gp_seq;
-   __entry->gp_seq_req = gp_seq_req;
+   __entry->gp_seq = (long)gp_seq;
+   __entry->gp_seq_req = (long)gp_seq_req;
__entry->level = level;
__entry->grplo = grplo;
__entry->grphi = grphi;
__entry->gpevent = gpevent;
),
 
-   TP_printk("%s %lu %lu %u %d %d %s",
- __entry->rcuname, __entry->gp_seq, __entry->gp_seq_req, 
__entry->level,
+   TP_printk("%s %ld %ld %u %d %d %s",
+ __entry->rcuname, (long)__entry->gp_seq, 
(long)__entry->gp_seq_req, __entry->level,
  __entry->grplo, __entry->grphi, __entry->gpevent)
 );
 
@@ -157,7 +157,7 @@ TRACE_EVENT_RCU(rcu_grace_period_init,
 
TP_STRUCT__entry(
__field(const char *, rcuname)
-   __field(unsigned long, gp_seq)
+   __field(long, gp_seq)
__field(u8, level)
__field(int, grplo)
__field(int, grphi)
@@ -166,14 +166,14 @@ TRACE_EVENT_RCU(rcu_grace_period_init,
 
TP_fast_assign(
__entry->rcuname = rcuname;
-   __entry->gp_seq = gp_seq;
+   __entry->gp_seq = (long)gp_seq;
__entry->level = level;
__entry->grplo = grplo;
__entry->grphi = grphi;
__entry->qsmask = qsmask;
),
 
-   TP_printk("%s %lu %u %d %d %lx",
+   TP_printk("%s %ld %u %d %d %lx",
  __entry->rcuname, __entry->gp_seq, __entry->level,
  __entry->grplo, __entry->grphi, __entry->qsmask)
 );
@@ -201,17 +201,17 @@ TRACE_EVENT_RCU(rcu_exp_grace_period,
 
TP_STRUCT__entry(
__field(const char *, rcuname)
-   __field(unsigned long, gpseq)
+   __field(long, gpseq)
__field(const char *, gpevent)
),
 
TP_fast_assign(
__entry->rcuname = rcuname;
-   __entry->gpseq = gpseq;
+   __entry->gpseq = (long)gpseq;
__entry->gpevent = gpevent;
),
 
-   TP_printk("%s %lu %s",
+   TP_printk("%s %ld %s",
  __entry->rcuname, __entry->gpseq, __entry->gpevent)
 );
 
@@ -320,17 +320,17 @@ TRACE_EVENT_RCU(rcu_preempt_task,
 
TP_STRUCT__entry(
__field(const char *, rcuname)
-   __field(unsigned long, gp_seq)
+   __field(long, gp_seq)
__field(int, pid)
),
 
TP_fast_assign(
__entry->rcuname = rcuname;
-   __entry->gp_seq = gp_seq;
+   __entry->gp_seq = (long)gp_seq;
__entry->pid = pid;
),
 
-   TP_printk("%s %lu %d",
+   TP_printk("%s %ld %d",
  __entry->rcuname, __entry->gp_seq, __entry->pid)
 );
 
@@ -347,17 +347,17 @@ TRACE_EVENT_RCU(rcu_unlock_preempted_task,