Re: [PATCH] perf tools: Add missing swap for cgroup events

From: Arnaldo Carvalho de Melo
Date: Tue Nov 03 2020 - 07:25:18 EST


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@xxxxxxxxxx>


Thanks, applied.

- Arnaldo


> thanks,
> jirka
>
> > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> > ---
> > 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