Re: disabled APICs being counted as processors ?

From: David Rientjes
Date: Sun Jan 26 2014 - 01:41:44 EST


On Sat, 25 Jan 2014, Dave Jones wrote:

> > > it looks like this is because..
> > >
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x04] enabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x06] enabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0xff] disabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0xff] disabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0xff] disabled)
> > > [ 0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0xff] disabled)
> > >
> > > Should the CPU counting code be ignoring those disabled APICs ?
> >
> > Hm, so to the kernel it looks like as if those were 'possible CPUs',
> > in theory hotpluggable. Not sure what they are - disabled cores in an
> > 8-core system? Or BIOS reporting crap?
> >
> > But perhaps the boot message could be improved to say something like:
> >
> > > [ 0.000000] smpboot: 8 possible processors exceeds NR_CPUS limit of 4
>
> It's not possible though. It's an i5-4670T, in a single socket board.
> It doesn't even have hyperthreading. http://ark.intel.com/products/75050/Intel-Core-i5-4670T-Processor-6M-Cache-up-to-3_30-GHz
>

I don't think the "ACPI: LAPIC (... disabled)" lines are problematic, they
are simply reporting the acpi processor id and apic id for processors that
do not have their enabled flag set. The acpi spec allows for these to
exist without the enabled flag set when the processor isn't present at all
because the kernel will make no attempt to use it.

That said, I think the "smpboot: 8 Processors exceeds NR_CPUS limit of 4"
line is unnecessary since, as you said, these processors don't physically
exist. I betcha that's because you have CONFIG_HOTPLUG_CPU enabled and
it's counting the disabled cpus that were found when acpi_register_lapic()
was done. The warning is only really meaningful for cpus in
cpu_possible_map, which aren't set for your disabled four, in the hotplug
case where NR_CPUS is too small.
--
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/