mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Vilas Bhat <vilasbhat@google.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>,
	Pavel Machek <pavel@ucw.cz>, Len Brown <len.brown@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Saravana Kannan <saravanak@google.com>,
	kernel-team@android.com, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v1] PM: runtime: add tracepoint for runtime_status changes
Date: Wed, 21 Feb 2024 12:14:20 -0500	[thread overview]
Message-ID: <20240221121420.2e32fd00@gandalf.local.home> (raw)
In-Reply-To: <20240221164112.846409-1-vilasbhat@google.com>

On Wed, 21 Feb 2024 16:41:10 +0000
Vilas Bhat <vilasbhat@google.com> wrote:


> diff --git a/include/trace/events/rpm.h b/include/trace/events/rpm.h
> index 3c716214dab1..f1dc4e95dbce 100644
> --- a/include/trace/events/rpm.h
> +++ b/include/trace/events/rpm.h
> @@ -101,6 +101,42 @@ TRACE_EVENT(rpm_return_int,
>  		__entry->ret)
>  );
>  
> +#define RPM_STATUS_STRINGS \
> +	{ RPM_INVALID, "RPM_INVALID" }, \
> +	{ RPM_ACTIVE, "RPM_ACTIVE" }, \
> +	{ RPM_RESUMING, "RPM_RESUMING" }, \
> +	{ RPM_SUSPENDED, "RPM_SUSPENDED" }, \
> +	{ RPM_SUSPENDING, "RPM_SUSPENDING" }
> +
> +/*
> + * ftrace's __print_symbolic requires that all enum values be wrapped in the
> + * TRACE_DEFINE_ENUM macro so that the enum value can be encoded in the ftrace
> + * ring buffer.
> + */
> +TRACE_DEFINE_ENUM(RPM_INVALID);
> +TRACE_DEFINE_ENUM(RPM_ACTIVE);
> +TRACE_DEFINE_ENUM(RPM_RESUMING);
> +TRACE_DEFINE_ENUM(RPM_SUSPENDED);
> +TRACE_DEFINE_ENUM(RPM_SUSPENDING);

You could do what everyone else does:

#define RPM_STATUS_STRINGS			\
	EM( RPM_INVALID, "RPM_INVALID" )	\
	EM( RPM_ACTIVE, "RPM_ACTIVE" )		\
	EM( RPM_RESUMING, "RPM_RESUMING" )	\
	EM( RPM_SUSPENDED, "RPM_SUSPENDED" )	\
	EMe( RPM_SUSPENDING, "RPM_SUSPENDING" )

#undef EM
#undef EMe
#define EM(a, b)	TRACE_DEFINE_ENUM(a);
#define EMe(a, b)	TRACE_DEFINE_ENUM(a);

RPM_STATUS_STRINGS

#undef EM
#undef EMe
#define EM(a, b)	{ a, b },
#define EMe(a, b)	{ a, b }

> +
> +TRACE_EVENT(rpm_status,
> +	TP_PROTO(struct device *dev, enum rpm_status status),
> +	TP_ARGS(dev, status),
> +
> +	TP_STRUCT__entry(
> +		__string(name,	dev_name(dev))
> +		__field(int,	status)
> +	),
> +
> +	TP_fast_assign(
> +		__assign_str(name, dev_name(dev));
> +		__entry->status = status;
> +	),
> +
> +	TP_printk("%s status=%s", __get_str(name),
> +		__print_symbolic(__entry->status, RPM_STATUS_STRINGS))

This will be what you want with that last redefine of EM*()

-- Steve


> +);
> +
>  #endif /* _TRACE_RUNTIME_POWER_H */
>  
>  /* This part must be outside protection */


  reply	other threads:[~2024-02-21 17:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 16:41 Vilas Bhat
2024-02-21 17:14 ` Steven Rostedt [this message]
2024-02-21 17:57   ` Vilas Bhat
2024-02-21 18:35     ` Steven Rostedt
2024-02-21 18:40       ` Vilas Bhat

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240221121420.2e32fd00@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel-team@android.com \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rafael@kernel.org \
    --cc=saravanak@google.com \
    --cc=vilasbhat@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®