Messages in this thread | | | Date | Thu, 10 Jun 2010 17:37:16 -0700 (PDT) | Subject | Re: PROBLEM: Off-by-one bug on sun4u SMP | From | David Miller <> |
| |
From: Ryan Davis <iconoclasmandheresy@gmail.com> Date: Thu, 10 Jun 2010 11:05:09 -0700
> 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.
max-cpus means "one larger than the maximum PHYSICAL cpu number", not the number of cpus. That's what this setting means, at least on sparc64.
| |