Re: [PATCHv2 00/10] ext4: Improve FC trace events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 10 Mar 2022 22:37:31 +0530
Ritesh Harjani <riteshh@xxxxxxxxxxxxx> wrote:

> On 22/03/10 11:05AM, Steven Rostedt wrote:
> > On Thu, 10 Mar 2022 21:28:54 +0530
> > Ritesh Harjani <riteshh@xxxxxxxxxxxxx> wrote:
> >  
> > > Note:- I still couldn't figure out how to expose EXT4_FC_REASON_MAX in patch-2
> > > which (I think) might be (only) needed by trace-cmd or perf record for trace_ext4_fc_stats.
> > > But it seems "cat /sys/kernel/debug/tracing/trace_pipe" gives the right output
> > > for ext4_fc_stats trace event (as shown below).
> > >
> > > So with above reasoning, do you think we should take these patches in?
> > > And we can later see how to provide EXT4_FC_REASON_MAX definition available to
> > > libtraceevent?  
> >
> > I don't see EXT4_FC_REASON_MAX being used in the TP_printk(). If it isn't
> > used there, it doesn't need to be exposed. Or did I miss something?  
> 
> I was mentioning about EXT4_FC_REASON_MAX used in TP_STRUCT__entry.
> When I hard code EXT4_FC_REASON_MAX to 9 in TP_STRUCT__entry, I could
> see proper values using trace-cmd. Otherwise I see all 0 (when using trace-cmd
> or perf record).
> 
> +	TP_STRUCT__entry(
> +		__field(dev_t, dev)
> +		__array(unsigned int, fc_ineligible_rc, EXT4_FC_REASON_MAX)

Ah, I bet it's showing up in the format portion and not the print fmt part
of the format file.

Just to confirm, can you do the following:

# cat /sys/kernel/tracing/events/ext4/ext4_fc_commit_stop/format

and show me what it outputs.

Thanks,

-- Steve


> 
> Should we anyway hard code this to 9. Since we are anyway printing all the
> 9 elements of array values individually.
> 
> +	TP_printk("dev %d,%d fc ineligible reasons:\n"
> +		  "%s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u "
> +		  "num_commits:%lu, ineligible: %lu, numblks: %lu",
> +		  MAJOR(__entry->dev), MINOR(__entry->dev),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_XATTR),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_CROSS_RENAME),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_JOURNAL_FLAG_CHANGE),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_NOMEM),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_SWAP_BOOT),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_RESIZE),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_RENAME_DIR),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_FALLOC_RANGE),
> +		  FC_REASON_NAME_STAT(EXT4_FC_REASON_INODE_JOURNAL_DATA),
> +		  __entry->fc_commits, __entry->fc_ineligible_commits,
> +		  __entry->fc_numblks)
> 
> 
> Thanks
> -ritesh




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux