Messages in this thread | | | Date | Fri, 12 Aug 2016 15:12:31 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCH] x86/smp: Fix __max_logical_packages value setup |
| |
On Fri, Aug 12, 2016 at 02:24:57PM +0200, Jiri Olsa wrote: > On Thu, Aug 11, 2016 at 03:46:51PM +0200, Peter Zijlstra wrote: > > On Thu, Aug 11, 2016 at 03:05:21PM +0200, Jiri Olsa wrote: > > > hum, so we either need some acpi solution to get number of all > > > sockets or > > > > This.. So the problem here is that the BIOS completely screws us over. > > > > It wrecks the ACPI-ID table with that option to limit the number of CPUs > > exposed to the OS (note that it didn't need to do that, it could have > > enumerated them as empty, instead of not there at all) while keeping the > > CPUID of the CPUs as reporting they have many (12? was it) cores. > > > > This results in inconsistent state, and we're left with nothing useful. > > > > > fix the uncore code to initialize pmu boxes on cpu hotplug as well > > > > Can't.. it uses the boxes at STARTING time, and we can't do allocs > > there. Not can we alloc earlier, because we don't know max_packages is > > going to increase. > > I still need to test this, but would this be something > like you proposed on irc?
works on my test machine:
[ 0.742505] smpboot: APIC(0) Converting physical 0 to logical package 0 [ 0.749902] smpboot: APIC(20) Converting physical 1 to logical package 1 [ 0.757390] smpboot: APIC(40) Converting physical 2 to logical package 2 [ 0.764879] smpboot: APIC(60) Converting physical 3 to logical package 3 [ 0.772368] smpboot: Detected more packages (4), then computed by BIOS data (1). [ 0.780630] smpboot: Max logical packages: 4
jirka
| |