linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf tools: Add missing swap for cgroup events
@ 2020-11-02 14:02 Namhyung Kim
  2020-11-02 17:49 ` Jiri Olsa
  0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2020-11-02 14:02 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: Ingo Molnar, Peter Zijlstra, Mark Rutland, Alexander Shishkin,
	LKML, Stephane Eranian, Ian Rogers

It was missed to add a swap function for PERF_RECORD_CGROUP.

Fixes: ba78c1c5461c ("perf tools: Basic support for CGROUP event")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/session.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 7a5f03764702..c44c8e8c09c6 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -710,6 +710,18 @@ static void perf_event__namespaces_swap(union perf_event *event,
 		swap_sample_id_all(event, &event->namespaces.link_info[i]);
 }
 
+static void perf_event__cgroup_swap(union perf_event *event, bool sample_id_all)
+{
+	event->cgroup.id = bswap_64(event->cgroup.id);
+
+	if (sample_id_all) {
+		void *data = &event->cgroup.path;
+
+		data += PERF_ALIGN(strlen(data) + 1, sizeof(u64));
+		swap_sample_id_all(event, data);
+	}
+}
+
 static u8 revbyte(u8 b)
 {
 	int rev = (b >> 4) | ((b & 0xf) << 4);
@@ -952,6 +964,7 @@ static perf_event__swap_op perf_event__swap_ops[] = {
 	[PERF_RECORD_SWITCH]		  = perf_event__switch_swap,
 	[PERF_RECORD_SWITCH_CPU_WIDE]	  = perf_event__switch_swap,
 	[PERF_RECORD_NAMESPACES]	  = perf_event__namespaces_swap,
+	[PERF_RECORD_CGROUP]		  = perf_event__cgroup_swap,
 	[PERF_RECORD_TEXT_POKE]		  = perf_event__text_poke_swap,
 	[PERF_RECORD_HEADER_ATTR]	  = perf_event__hdr_attr_swap,
 	[PERF_RECORD_HEADER_EVENT_TYPE]	  = perf_event__event_type_swap,
-- 
2.29.1.341.ge80a0c044ae-goog


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] perf tools: Add missing swap for cgroup events
  2020-11-02 14:02 [PATCH] perf tools: Add missing swap for cgroup events Namhyung Kim
@ 2020-11-02 17:49 ` Jiri Olsa
  2020-11-03 12:24   ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 3+ messages in thread
From: Jiri Olsa @ 2020-11-02 17:49 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Peter Zijlstra,
	Mark Rutland, Alexander Shishkin, LKML, Stephane Eranian,
	Ian Rogers

On Mon, Nov 02, 2020 at 11:02:28PM +0900, Namhyung Kim wrote:
> It was missed to add a swap function for PERF_RECORD_CGROUP.
> 
> Fixes: ba78c1c5461c ("perf tools: Basic support for CGROUP event")

Acked-by: Jiri Olsa <jolsa@redhat.com>

thanks,
jirka

> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
>  tools/perf/util/session.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index 7a5f03764702..c44c8e8c09c6 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -710,6 +710,18 @@ static void perf_event__namespaces_swap(union perf_event *event,
>  		swap_sample_id_all(event, &event->namespaces.link_info[i]);
>  }
>  
> +static void perf_event__cgroup_swap(union perf_event *event, bool sample_id_all)
> +{
> +	event->cgroup.id = bswap_64(event->cgroup.id);
> +
> +	if (sample_id_all) {
> +		void *data = &event->cgroup.path;
> +
> +		data += PERF_ALIGN(strlen(data) + 1, sizeof(u64));
> +		swap_sample_id_all(event, data);
> +	}
> +}
> +
>  static u8 revbyte(u8 b)
>  {
>  	int rev = (b >> 4) | ((b & 0xf) << 4);
> @@ -952,6 +964,7 @@ static perf_event__swap_op perf_event__swap_ops[] = {
>  	[PERF_RECORD_SWITCH]		  = perf_event__switch_swap,
>  	[PERF_RECORD_SWITCH_CPU_WIDE]	  = perf_event__switch_swap,
>  	[PERF_RECORD_NAMESPACES]	  = perf_event__namespaces_swap,
> +	[PERF_RECORD_CGROUP]		  = perf_event__cgroup_swap,
>  	[PERF_RECORD_TEXT_POKE]		  = perf_event__text_poke_swap,
>  	[PERF_RECORD_HEADER_ATTR]	  = perf_event__hdr_attr_swap,
>  	[PERF_RECORD_HEADER_EVENT_TYPE]	  = perf_event__event_type_swap,
> -- 
> 2.29.1.341.ge80a0c044ae-goog
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] perf tools: Add missing swap for cgroup events
  2020-11-02 17:49 ` Jiri Olsa
@ 2020-11-03 12:24   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-11-03 12:24 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Namhyung Kim, Ingo Molnar, Peter Zijlstra, Mark Rutland,
	Alexander Shishkin, LKML, Stephane Eranian, Ian Rogers

Em Mon, Nov 02, 2020 at 06:49:56PM +0100, Jiri Olsa escreveu:
> On Mon, Nov 02, 2020 at 11:02:28PM +0900, Namhyung Kim wrote:
> > It was missed to add a swap function for PERF_RECORD_CGROUP.
> > 
> > Fixes: ba78c1c5461c ("perf tools: Basic support for CGROUP event")
> 
> Acked-by: Jiri Olsa <jolsa@redhat.com>


Thanks, applied.

- Arnaldo

 
> thanks,
> jirka
> 
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> > ---
> >  tools/perf/util/session.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> > index 7a5f03764702..c44c8e8c09c6 100644
> > --- a/tools/perf/util/session.c
> > +++ b/tools/perf/util/session.c
> > @@ -710,6 +710,18 @@ static void perf_event__namespaces_swap(union perf_event *event,
> >  		swap_sample_id_all(event, &event->namespaces.link_info[i]);
> >  }
> >  
> > +static void perf_event__cgroup_swap(union perf_event *event, bool sample_id_all)
> > +{
> > +	event->cgroup.id = bswap_64(event->cgroup.id);
> > +
> > +	if (sample_id_all) {
> > +		void *data = &event->cgroup.path;
> > +
> > +		data += PERF_ALIGN(strlen(data) + 1, sizeof(u64));
> > +		swap_sample_id_all(event, data);
> > +	}
> > +}
> > +
> >  static u8 revbyte(u8 b)
> >  {
> >  	int rev = (b >> 4) | ((b & 0xf) << 4);
> > @@ -952,6 +964,7 @@ static perf_event__swap_op perf_event__swap_ops[] = {
> >  	[PERF_RECORD_SWITCH]		  = perf_event__switch_swap,
> >  	[PERF_RECORD_SWITCH_CPU_WIDE]	  = perf_event__switch_swap,
> >  	[PERF_RECORD_NAMESPACES]	  = perf_event__namespaces_swap,
> > +	[PERF_RECORD_CGROUP]		  = perf_event__cgroup_swap,
> >  	[PERF_RECORD_TEXT_POKE]		  = perf_event__text_poke_swap,
> >  	[PERF_RECORD_HEADER_ATTR]	  = perf_event__hdr_attr_swap,
> >  	[PERF_RECORD_HEADER_EVENT_TYPE]	  = perf_event__event_type_swap,
> > -- 
> > 2.29.1.341.ge80a0c044ae-goog
> > 
> 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-03 12:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-02 14:02 [PATCH] perf tools: Add missing swap for cgroup events Namhyung Kim
2020-11-02 17:49 ` Jiri Olsa
2020-11-03 12:24   ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).