PROBLEM: Off-by-one bug on sun4u SMP

From: Ryan Davis
Date: Thu Jun 10 2010 - 14:05:18 EST


On at least some sun4u machines, the CPU numbering starts at one not 0.
This causes an off-by-one bug as other parts of the code assume
zero-based numbering.

If you set max-cpus in the kernel config to the actual number of CPUs,
the last CPU will be ignored and unused.
This is because the CPU numbering starts at 1 but the code to check
against max-cpus assumes a zero-based numbering.

On my computer: Sun Ultra 60 2x450mhz Ultrasparc.
Building with max-cpus of 2 ignores the second cpu because 2 (one
based cpu number) >= 2 (zero based max cpus)
Rebuilding with a larger max-cpus is a workaround but non optimal.
---
Those who will not reason, are bigots, those who cannot, are fools,
and those who dare not, are slaves.
 -- Lord Byron
--
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/