Re: [PATCH 1/1] perf: Remove 'core_id' check in topo test

From: Jiri Olsa
Date: Sun Mar 13 2016 - 15:57:00 EST


On Sun, Mar 13, 2016 at 04:13:08PM -0300, Arnaldo Carvalho de Melo wrote:
> Its in perf/core as if a few days ago, IIRC
> Le 13 mars 2016 3:54 PM, "Jiri Olsa" <jolsa@xxxxxxxxxx> a écrit :

cool, thanks

jirka

>
> > On Thu, Dec 03, 2015 at 03:32:19PM -0800, Sukadev Bhattiprolu wrote:
> > > From b6bb5d9182f89cd7c6f1eff3cd5a6d3f947b8b0c Mon Sep 17 00:00:00 2001
> > > From: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
> > > Date: Thu, 3 Dec 2015 18:26:40 -0500
> > > Subject: [PATCH 1/1] perf: Remove 'core_id' check in topo test
> >
> > hi,
> > looks like this one fell through the cracks
> >
> > Arnaldo, could you please queue it..
> >
> > Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> ;-)
> >
> > thanks,
> > jirka
> >
> >
> > >
> > > The topology test case of 'perf test' seems to be broken on my x86
> > > system - due to the comparison of a "core-id" with # of CPUs online.
> > >
> > > There are 8 online CPUs:
> > >
> > > $ cat /sys/devices/system/cpu/online
> > > 0-7
> > >
> > > but core-ids are not sequential and some core-ids exceed the number
> > > of online CPUs.
> > >
> > > $ cat /sys/devices/system/cpu/cpu?/topology/core_id
> > > 0
> > > 1
> > > 9
> > > 10
> > > 0
> > > 1
> > > 9
> > > 10
> > >
> > > Looks like we can safely remove the check. Output before:
> > >
> > > $ ./perf --version
> > > perf version 4.4.rc1.g34258a
> > >
> > > $ ./perf test -v topo
> > > 36: Test topology in session :
> > > --- start ---
> > > test child forked, pid 5906
> > > templ file: /tmp/perf-test-vCwWG3
> > > core_id number is too big.You may need to upgrade the perf tool.
> > > test child interrupted
> > > ---- end ----
> > > Test topology in session: FAILED!
> > >
> > > and after:
> > >
> > > ./perf test -v topo
> > > 36: Test topology in session :
> > > --- start ---
> > > test child forked, pid 6532
> > > templ file: /tmp/perf-test-y10wFJ
> > > CPU 0, core 0, socket 0
> > > CPU 1, core 1, socket 0
> > > CPU 2, core 9, socket 0
> > > CPU 3, core 10, socket 0
> > > CPU 4, core 0, socket 1
> > > CPU 5, core 1, socket 1
> > > CPU 6, core 9, socket 1
> > > CPU 7, core 10, socket 1
> > > test child finished with 0
> > > ---- end ----
> > > Test topology in session: Ok
> > >
> > > Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx>
> > > Cc: kan.liang@xxxxxxxxx
> > > Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> > > ---
> > > tools/perf/util/header.c | 5 -----
> > > 1 file changed, 5 deletions(-)
> > >
> > > diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
> > > index 4383800..e74f94d 100644
> > > --- a/tools/perf/util/header.c
> > > +++ b/tools/perf/util/header.c
> > > @@ -1652,11 +1652,6 @@ static int process_cpu_topology(struct
> > perf_file_section *section,
> > > if (ph->needs_swap)
> > > nr = bswap_32(nr);
> > >
> > > - if (nr > (u32)cpu_nr) {
> > > - pr_debug("core_id number is too big."
> > > - "You may need to upgrade the perf
> > tool.\n");
> > > - goto free_cpu;
> > > - }
> > > ph->env.cpu[i].core_id = nr;
> > >
> > > ret = readn(fd, &nr, sizeof(nr));
> > > --
> > > 2.1.0
> > >
> >