----- Original Message -----
> From: "Jiri Olsa" <jo...@redhat.com>
> To: "Jan Stancek" <jstan...@redhat.com>
> Cc: linux-kernel@vger.kernel.org, pet...@infradead.org, mi...@redhat.com,
> a...@kernel.org, "alexander shishkin"
> <alexander.shish...@linux.intel.com>, jo...@kernel.org, mhira...@kernel.org,
> "rui teng"
> <rui.t...@linux.vnet.ibm.com>, suka...@linux.vnet.ibm.com
> Sent: Monday, 30 January, 2017 7:49:08 PM
> Subject: Re: [PATCH] perf: fix topology test on systems with sparse CPUs
>
> On Mon, Jan 30, 2017 at 05:53:34PM +0100, Jan Stancek wrote:
>
> SNIP
>
> > + ret = build_cpu_topo(tp, cpu);
> > if (ret < 0)
> > break;
> > }
> > +
> > +out_free:
> > + cpu_map__put(map);
> > if (ret) {
> > free_cpu_topo(tp);
> > tp = NULL;
> > }
> > +out:
> > return tp;
> > }
> >
> > @@ -575,7 +579,7 @@ static int write_cpu_topology(int fd, struct
> > perf_header *h __maybe_unused,
> > if (ret < 0)
> > goto done;
> >
> > - for (j = 0; j < perf_env.nr_cpus_avail; j++) {
> > + for (j = 0; j < perf_env.nr_cpus_online; j++) {
>
> so basically we're changing from avail to online cpus
>
> have you checked all the users of this FEATURE
> if such change is ok?
You're right, I missed some. Looking again, I see at least
perf_env__get_core() could break.
Regards,
Jan