RE: perf test topo broken?

From: Liang, Kan
Date: Wed Nov 25 2015 - 10:17:15 EST


>
> On Thu, Nov 19, 2015 at 02:13:53PM -0800, Sukadev Bhattiprolu wrote:
>
> SNIP
>
> > Commenting out following code seems to cause the test to pass, but are
> > core_ids in general related to number of cpus online?
> >
> > Sukadev
> >
> > ---
> > diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index
> > 4383800..d5104da 100644
> > --- a/tools/perf/util/header.c
> > +++ b/tools/perf/util/header.c
> > @@ -1652,11 +1652,14 @@ static int process_cpu_topology(struct
> perf_file_section *section,
> > if (ph->needs_swap)
> > nr = bswap_32(nr);
> >
> > +#if 0
> > if (nr > (u32)cpu_nr) {
> > - pr_debug("core_id number is too big."
> > - "You may need to upgrade the perf tool.\n");
> > + pr_debug("core_id number is too big. nr %d, cpu_nr %d. "
> > + "You may need to upgrade the perf tool.\n",
> > + nr, cpu_nr);
> > goto free_cpu;
> > }
> > +#endif
> > ph->env.cpu[i].core_id = nr;
>
> looks like we can safely remove this check,
>
> I don't see any place we use core_id as array index or any other place
> assuming core_id < cpu_nr
>
> Kan Liang?

I assumed that the core_id should be less than max_cpu_number.
But in your case it looks the assumption doesn't work.

I think we can safely remove the check as Jirka suggested.


Thanks,
Kan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/