2018-08-08 09:31:24

by Liu, Changcheng

[permalink] [raw]
Subject: [PATCH] ASoC: trace: track dapm type in snd_soc_dapm_widget

Track snd_soc_dapm_widget:id which is used as dapm
sequence index in dapm_down_seq/dapm_up_seq. It's
useful for checking dapm seq after tracking it.

Signed-off-by: Liu Changcheng <[email protected]>

diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h
index 40c300f..0bc935b 100644
--- a/include/trace/events/asoc.h
+++ b/include/trace/events/asoc.h
@@ -92,16 +92,18 @@ DECLARE_EVENT_CLASS(snd_soc_dapm_widget,

TP_STRUCT__entry(
__string( name, w->name )
+ __field( int, id )
__field( int, val )
),

TP_fast_assign(
__assign_str(name, w->name);
+ __entry->id = w->id;
__entry->val = val;
),

- TP_printk("widget=%s val=%d", __get_str(name),
- (int)__entry->val)
+ TP_printk("widget=%s dapm_id=%d val=%d", __get_str(name),
+ (int)__entry->id, (int)__entry->val)
);

DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
--
2.7.4



2018-08-08 12:25:27

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] ASoC: trace: track dapm type in snd_soc_dapm_widget

On Wed, 8 Aug 2018 17:29:27 +0800
"Liu, Changcheng" <[email protected]> wrote:

> Track snd_soc_dapm_widget:id which is used as dapm
> sequence index in dapm_down_seq/dapm_up_seq. It's
> useful for checking dapm seq after tracking it.
>
> Signed-off-by: Liu Changcheng <[email protected]>
>
> diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h
> index 40c300f..0bc935b 100644
> --- a/include/trace/events/asoc.h
> +++ b/include/trace/events/asoc.h
> @@ -92,16 +92,18 @@ DECLARE_EVENT_CLASS(snd_soc_dapm_widget,
>
> TP_STRUCT__entry(
> __string( name, w->name )
> + __field( int, id )
> __field( int, val )
> ),
>
> TP_fast_assign(
> __assign_str(name, w->name);
> + __entry->id = w->id;
> __entry->val = val;
> ),
>
> - TP_printk("widget=%s val=%d", __get_str(name),
> - (int)__entry->val)
> + TP_printk("widget=%s dapm_id=%d val=%d", __get_str(name),
> + (int)__entry->id, (int)__entry->val)

Not sure why it was there before, but the (int) typecast isn't needed
in either case. __field(int, val) makes __entry->val of type int. Same
for id.

-- Steve

> );
>
> DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,


2018-08-08 12:42:08

by Liu, Changcheng

[permalink] [raw]
Subject: Re: [PATCH] ASoC: trace: track dapm type in snd_soc_dapm_widget

On 08:24 Wed 08 Aug, Steven Rostedt wrote:
> On Wed, 8 Aug 2018 17:29:27 +0800
> "Liu, Changcheng" <[email protected]> wrote:
>
> > Track snd_soc_dapm_widget:id which is used as dapm
> > sequence index in dapm_down_seq/dapm_up_seq. It's
> > useful for checking dapm seq after tracking it.
> >
> > Signed-off-by: Liu Changcheng <[email protected]>
> >
> > diff --git a/include/trace/events/asoc.h b/include/trace/events/asoc.h
> > index 40c300f..0bc935b 100644
> > --- a/include/trace/events/asoc.h
> > +++ b/include/trace/events/asoc.h
> > @@ -92,16 +92,18 @@ DECLARE_EVENT_CLASS(snd_soc_dapm_widget,
> >
> > TP_STRUCT__entry(
> > __string( name, w->name )
> > + __field( int, id )
> > __field( int, val )
> > ),
> >
> > TP_fast_assign(
> > __assign_str(name, w->name);
> > + __entry->id = w->id;
> > __entry->val = val;
> > ),
> >
> > - TP_printk("widget=%s val=%d", __get_str(name),
> > - (int)__entry->val)
> > + TP_printk("widget=%s dapm_id=%d val=%d", __get_str(name),
> > + (int)__entry->id, (int)__entry->val)
>
> Not sure why it was there before, but the (int) typecast isn't needed
> in either case. __field(int, val) makes __entry->val of type int. Same
> for id.
>
> -- Steve

@Steve: This patch aims at tracking the dapm up/down sequence. For the
(int) typecast format problem, what do you think of using another
seperate patch to resolve it?

-- Changcheng
>
> > );
> >
> > DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
>

2018-08-08 12:54:38

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] ASoC: trace: track dapm type in snd_soc_dapm_widget

On Wed, 8 Aug 2018 20:39:22 +0800
"Liu, Changcheng" <[email protected]> wrote:

> > > - TP_printk("widget=%s val=%d", __get_str(name),
> > > - (int)__entry->val)
> > > + TP_printk("widget=%s dapm_id=%d val=%d", __get_str(name),
> > > + (int)__entry->id, (int)__entry->val)
> >
> > Not sure why it was there before, but the (int) typecast isn't needed
> > in either case. __field(int, val) makes __entry->val of type int. Same
> > for id.
> >
> > -- Steve
>
> @Steve: This patch aims at tracking the dapm up/down sequence. For the
> (int) typecast format problem, what do you think of using another
> seperate patch to resolve it?

Yeah, I was just commenting on that as a general comment. It doesn't
affect the actual patch, which I don't see anything wrong with it from
a tracing point of view.

I agree the typecast removal should be done in a separate clean-up
patch.

-- Steve

2018-08-08 13:01:18

by Liu, Changcheng

[permalink] [raw]
Subject: Re: [PATCH] ASoC: trace: track dapm type in snd_soc_dapm_widget

Thanks Steven for the suggestion.
I'll write two patches. One is for cleaning the format issue. The other
is for tracking the dapm up/down sequence in trace events.

B.R.
Changcheng

On 08:53 Wed 08 Aug, Steven Rostedt wrote:
> On Wed, 8 Aug 2018 20:39:22 +0800
> "Liu, Changcheng" <[email protected]> wrote:
>
> > > > - TP_printk("widget=%s val=%d", __get_str(name),
> > > > - (int)__entry->val)
> > > > + TP_printk("widget=%s dapm_id=%d val=%d", __get_str(name),
> > > > + (int)__entry->id, (int)__entry->val)
> > >
> > > Not sure why it was there before, but the (int) typecast isn't needed
> > > in either case. __field(int, val) makes __entry->val of type int. Same
> > > for id.
> > >
> > > -- Steve
> >
> > @Steve: This patch aims at tracking the dapm up/down sequence. For the
> > (int) typecast format problem, what do you think of using another
> > seperate patch to resolve it?
>
> Yeah, I was just commenting on that as a general comment. It doesn't
> affect the actual patch, which I don't see anything wrong with it from
> a tracing point of view.
>
> I agree the typecast removal should be done in a separate clean-up
> patch.
>
> -- Steve