Re: [patch 07/11] x86/perf/uncore: Track packages not per cpu data

From: Thomas Gleixner
Date: Wed Feb 17 2016 - 16:27:15 EST


Stephane,

On Wed, 17 Feb 2016, Stephane Eranian wrote:

Please trim your replies.

> On Wed, Feb 17, 2016 at 5:47 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > + size = topology_max_packages() * sizeof(struct intel_uncore_box *);
> >
> Let's assume you have a system with 48 cpus with HT on, then
> you have 2 processor sockets, which is correct. But then you further
> assume that topology_physical_package_id() will return 0 or 1 in this case.
> In other words, that physical id are always assigned from 0 to N in a contiguous
> manner.
>
> Do we know for sure that this is always the case for all Intel systems
> and that no
> weird BIOS is assigning random numbers for phys_proc_id?

We have quite some stuff which depends on phys_proc_id < max_package_id.

But sure, we should add a sanity check somewhere if we don't have one
already. I'll go digging around in the cpu setup code.

Thanks,

tglx