Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online"

From: Andi Kleen
Date: Tue Mar 25 2008 - 13:17:30 EST


Luciano Rocha <luciano@xxxxxxxxxxx> writes:

> On Tue, Mar 25, 2008 at 02:47:50PM +0100, Michael Meyer wrote:
> > Hi,
> >
> > what is the difference between booting a dual core
> > machine with "maxcpus=1" or by deactivating the second
> > core at run time with "echo 0 >
> > /sys/devices/system/cpu/cpu1/online"?
>
> maxcpus=1 should turn off the SMP alternative and switch to UP only,
> optimising some locks and instructions.

CPU hot unplug will do the same. But it is unlikely it accounts
for that much performance difference.

If he used maxcpus=0 it would make sense. maxcpus=0 disables
the IO-APIC which likely makes a large difference. But it should
be actually slower.

There should be actually no difference in theory between max_cpus=1
and hot unplug to one CPU. Might be some bug.

-Andi
--
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/