* performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online"
@ 2008-03-25 13:47 Michael Meyer
2008-03-25 14:08 ` Luciano Rocha
` (2 more replies)
0 siblings, 3 replies; 17+ messages in thread
From: Michael Meyer @ 2008-03-25 13:47 UTC (permalink / raw)
To: linux-kernel
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"?
I observed a funny behaviour of apache ant: although
it uses javac which is single threaded, a compile run
with "maxcpus=1" is actually faster than a compile run
with both cores activated. But with the second core
deactivated using "echo 0 >
/sys/devices/system/cpu/cpu1/online" it is even slower
than with both cores.
Is here any method to get the exact same behaviour of
"maxcpus=1" with disabling the second core only
temporarily? So that the second core could be disabled
before the ant execution and enabled after the ant
execution?
Thanks a lot!
E-Mails jetzt auf Ihrem Handy.
www.yahoo.de/go
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 13:47 performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" Michael Meyer @ 2008-03-25 14:08 ` Luciano Rocha 2008-03-25 16:38 ` Michael Meyer 2008-03-25 17:16 ` Andi Kleen 2008-03-28 13:59 ` Pavel Machek 2008-03-29 23:22 ` Bernd Eckenfels 2 siblings, 2 replies; 17+ messages in thread From: Luciano Rocha @ 2008-03-25 14:08 UTC (permalink / raw) To: Michael Meyer; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 476 bytes --] 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. -- Luciano Rocha <luciano@eurotux.com> Eurotux Informática, S.A. <http://www.eurotux.com/> [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 14:08 ` Luciano Rocha @ 2008-03-25 16:38 ` Michael Meyer 2008-03-25 17:16 ` Andi Kleen 1 sibling, 0 replies; 17+ messages in thread From: Michael Meyer @ 2008-03-25 16:38 UTC (permalink / raw) To: linux-kernel --- Luciano Rocha <luciano@eurotux.com> schrieb: > > 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. Can this be achieved during runtime also? And is it possible to switch back to SMP after that? Lesen Sie Ihre E-Mails jetzt einfach von unterwegs. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 14:08 ` Luciano Rocha 2008-03-25 16:38 ` Michael Meyer @ 2008-03-25 17:16 ` Andi Kleen 2008-03-25 17:23 ` Michael Meyer 2008-03-28 14:00 ` Pavel Machek 1 sibling, 2 replies; 17+ messages in thread From: Andi Kleen @ 2008-03-25 17:16 UTC (permalink / raw) To: Luciano Rocha; +Cc: Michael Meyer, linux-kernel Luciano Rocha <luciano@eurotux.com> 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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:16 ` Andi Kleen @ 2008-03-25 17:23 ` Michael Meyer 2008-03-25 17:49 ` Wander Winkelhorst 2008-03-25 23:27 ` Len Brown 2008-03-28 14:00 ` Pavel Machek 1 sibling, 2 replies; 17+ messages in thread From: Michael Meyer @ 2008-03-25 17:23 UTC (permalink / raw) To: Andi Kleen; +Cc: linux-kernel --- Andi Kleen <andi@firstfloor.org> schrieb: > Luciano Rocha <luciano@eurotux.com> 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. I had the following time values: maxcpus=1: real 0m1.642s user 0m1.528s sys 0m0.068s maxcpus=2 and echo 1 > /sys/devices/system/cpu/cpu1/online: real 0m2.579s user 0m4.096s sys 0m0.160s maxcpus=2 and echo 0 > /sys/devices/system/cpu/cpu1/online: real 0m3.757s user 0m3.632s sys 0m0.112s Lesen Sie Ihre E-Mails jetzt einfach von unterwegs. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:23 ` Michael Meyer @ 2008-03-25 17:49 ` Wander Winkelhorst 2008-03-25 17:56 ` Michael Meyer 2008-03-25 17:57 ` Andi Kleen 2008-03-25 23:27 ` Len Brown 1 sibling, 2 replies; 17+ messages in thread From: Wander Winkelhorst @ 2008-03-25 17:49 UTC (permalink / raw) To: Michael Meyer; +Cc: Andi Kleen, linux-kernel On Tue, Mar 25, 2008 at 6:23 PM, Michael Meyer <mike65134@yahoo.de> wrote: > > --- Andi Kleen <andi@firstfloor.org> schrieb: > > > > Luciano Rocha <luciano@eurotux.com> 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. > > I had the following time values: > > maxcpus=1: > real 0m1.642s > user 0m1.528s > sys 0m0.068s > > maxcpus=2 and > echo 1 > /sys/devices/system/cpu/cpu1/online: > real 0m2.579s > user 0m4.096s > sys 0m0.160s > > maxcpus=2 and > echo 0 > /sys/devices/system/cpu/cpu1/online: > real 0m3.757s > user 0m3.632s > sys 0m0.112s > > What kind of CPU are you using? Some Intel CPU's do "funny stuff", like dynamically overclocking itself when working on a single thread, or using all of the 2nd level cache instead of sharing it with the second core. Regards, Wander Winkelhorst. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:49 ` Wander Winkelhorst @ 2008-03-25 17:56 ` Michael Meyer 2008-03-25 17:57 ` Andi Kleen 1 sibling, 0 replies; 17+ messages in thread From: Michael Meyer @ 2008-03-25 17:56 UTC (permalink / raw) To: Wander Winkelhorst; +Cc: linux-kernel --- Wander Winkelhorst <w.winkelhorst@gmail.com> schrieb: > On Tue, Mar 25, 2008 at 6:23 PM, Michael Meyer > <mike65134@yahoo.de> wrote: > > > > --- Andi Kleen <andi@firstfloor.org> schrieb: > > > > > > > Luciano Rocha <luciano@eurotux.com> 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. > > > > I had the following time values: > > > > maxcpus=1: > > real 0m1.642s > > user 0m1.528s > > sys 0m0.068s > > > > maxcpus=2 and > > echo 1 > /sys/devices/system/cpu/cpu1/online: > > real 0m2.579s > > user 0m4.096s > > sys 0m0.160s > > > > maxcpus=2 and > > echo 0 > /sys/devices/system/cpu/cpu1/online: > > real 0m3.757s > > user 0m3.632s > > sys 0m0.112s > > > > > > What kind of CPU are you using? Some Intel CPU's do > "funny stuff", > like dynamically overclocking itself when working on > a single thread, > or using all of the 2nd level cache instead of > sharing it with the > second core. > > Regards, > Wander Winkelhorst. > Intel Core 2 Duo E6600 (2.4 Ghz). I do not think that it is capable of dynamically overclocking. $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping : 6 cpu MHz : 1600.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm bogomips : 4791.87 clflush size : 64 processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping : 6 cpu MHz : 1600.000 cache size : 4096 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm bogomips : 4788.35 clflush size : 64 E-Mails jetzt auf Ihrem Handy. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:49 ` Wander Winkelhorst 2008-03-25 17:56 ` Michael Meyer @ 2008-03-25 17:57 ` Andi Kleen 1 sibling, 0 replies; 17+ messages in thread From: Andi Kleen @ 2008-03-25 17:57 UTC (permalink / raw) To: Wander Winkelhorst; +Cc: Michael Meyer, Andi Kleen, linux-kernel > What kind of CPU are you using? Some Intel CPU's do "funny stuff", > like dynamically overclocking itself when working on a single thread, > or using all of the 2nd level cache instead of sharing it with the > second core. P0 should also work fine with cpu hotplug. At least in theory. -Andi ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:23 ` Michael Meyer 2008-03-25 17:49 ` Wander Winkelhorst @ 2008-03-25 23:27 ` Len Brown 2008-03-26 7:26 ` Michael Meyer 1 sibling, 1 reply; 17+ messages in thread From: Len Brown @ 2008-03-25 23:27 UTC (permalink / raw) To: Michael Meyer; +Cc: Andi Kleen, linux-kernel On Tuesday 25 March 2008, Michael Meyer wrote: > > --- Andi Kleen <andi@firstfloor.org> schrieb: > > > Luciano Rocha <luciano@eurotux.com> 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. > > I had the following time values: > > maxcpus=1: > real 0m1.642s > user 0m1.528s > sys 0m0.068s > > maxcpus=2 and > echo 1 > /sys/devices/system/cpu/cpu1/online: > real 0m2.579s > user 0m4.096s > sys 0m0.160s this above is the baseline, yes? it is same as if you used no boot param and did not touch the online file, yes? > maxcpus=2 and > echo 0 > /sys/devices/system/cpu/cpu1/online: > real 0m3.757s > user 0m3.632s > sys 0m0.112s Please post the contents of # grep . /sys/devices/system/cpu/cpu*/cpufreq/* and also grep . /proc/acpi/processor/*/power My guess that the maxcpus=1 case benefits from turbo mode, aka EIDA. That benefit, however, is subject to this bug: http://bugzilla.kernel.org/show_bug.cgi?id=5471 because for a single thread to run faster than the marketing MHz, the other thread must be in deep-idle, which is prevented by the bug above. If your scaling_available_frequencies includes 2401000 then you probably have a turbo-mode enabled processor. one way to verify this would be to disable turbo mode by pegging the MHz like so: # echo 2400000 > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq # echo 2400000 > /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq -Len ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 23:27 ` Len Brown @ 2008-03-26 7:26 ` Michael Meyer 0 siblings, 0 replies; 17+ messages in thread From: Michael Meyer @ 2008-03-26 7:26 UTC (permalink / raw) To: Len Brown; +Cc: linux-kernel --- Len Brown <lenb@kernel.org> schrieb: > On Tuesday 25 March 2008, Michael Meyer wrote: > > > > --- Andi Kleen <andi@firstfloor.org> schrieb: > > > > > Luciano Rocha <luciano@eurotux.com> 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. > > > > I had the following time values: > > > > maxcpus=1: > > real 0m1.642s > > user 0m1.528s > > sys 0m0.068s > > > > maxcpus=2 and > > echo 1 > /sys/devices/system/cpu/cpu1/online: > > real 0m2.579s > > user 0m4.096s > > sys 0m0.160s > > this above is the baseline, yes? Yes, it is. > it is same as if you used no boot param > and did not touch the online file, yes? Yes. I just repeated it - once without the commands and once with the same commands stated above. Same result. So this is the default. > > > maxcpus=2 and > > echo 0 > /sys/devices/system/cpu/cpu1/online: > > real 0m3.757s > > user 0m3.632s > > sys 0m0.112s > > Please post the contents of > # grep . /sys/devices/system/cpu/cpu*/cpufreq/* # grep . /sys/devices/system/cpu/cpu*/cpufreq/* /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:2400000 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:1600000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:2400000 1600000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:ondemand userspace conservative powersave performance /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:1600000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:acpi-cpufreq /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:ondemand /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:2400000 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:1600000 /sys/devices/system/cpu/cpu1/cpufreq/affected_cpus:1 /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq:2400000 /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_min_freq:1600000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies:2400000 1600000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors:ondemand userspace conservative powersave performance /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:1600000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver:acpi-cpufreq /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:ondemand /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:2400000 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq:1600000 > and also > grep . /proc/acpi/processor/*/power # grep . /proc/acpi/processor/*/power /proc/acpi/processor/CPU0/power:active state: C0 /proc/acpi/processor/CPU0/power:max_cstate: C8 /proc/acpi/processor/CPU0/power:bus master activity: 00000000 /proc/acpi/processor/CPU0/power:maximum allowed latency: 8000 usec /proc/acpi/processor/CPU0/power:states: /proc/acpi/processor/CPU0/power: C1: type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000] /proc/acpi/processor/CPU1/power:active state: C0 /proc/acpi/processor/CPU1/power:max_cstate: C8 /proc/acpi/processor/CPU1/power:bus master activity: 00000000 /proc/acpi/processor/CPU1/power:maximum allowed latency: 8000 usec /proc/acpi/processor/CPU1/power:states: /proc/acpi/processor/CPU1/power: C1: type[C1] promotion[--] demotion[--] latency[000] usage[00000000] duration[00000000000000000000] > > My guess that the maxcpus=1 case benefits from turbo mode, aka EIDA. > That benefit, however, is subject to this bug: > http://bugzilla.kernel.org/show_bug.cgi?id=5471 > because for a single thread to run faster than the marketing MHz, > the other thread must be in deep-idle, which is prevented > by the bug above. > > If your scaling_available_frequencies includes 2401000 > then you probably have a turbo-mode enabled processor. It does not include 2401000. The processor is an Intel Core 2 Duo E6600 (2.4GHZ) bought at the beginning of 2007. I do not think that that kind of freqency scaling was available back than. > > one way to verify this would be to disable turbo mode > by pegging the MHz like so: > > # echo 2400000 > > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq > # echo 2400000 > > /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq > > -Len > This does not work, as both are read-only. E-Mails jetzt auf Ihrem Handy. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 17:16 ` Andi Kleen 2008-03-25 17:23 ` Michael Meyer @ 2008-03-28 14:00 ` Pavel Machek 1 sibling, 0 replies; 17+ messages in thread From: Pavel Machek @ 2008-03-28 14:00 UTC (permalink / raw) To: Andi Kleen; +Cc: Luciano Rocha, Michael Meyer, linux-kernel On Tue 2008-03-25 18:16:47, Andi Kleen wrote: > Luciano Rocha <luciano@eurotux.com> 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. Or thermal effect. I'd expect that behaviour with bad cooling. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 13:47 performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" Michael Meyer 2008-03-25 14:08 ` Luciano Rocha @ 2008-03-28 13:59 ` Pavel Machek 2008-03-29 20:55 ` Michael Meyer 2008-03-29 23:22 ` Bernd Eckenfels 2 siblings, 1 reply; 17+ messages in thread From: Pavel Machek @ 2008-03-28 13:59 UTC (permalink / raw) To: Michael Meyer; +Cc: linux-kernel On Tue 2008-03-25 14:47:50, 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 : core stays powered off 0 > online : core enters halt. > I observed a funny behaviour of apache ant: although > it uses javac which is single threaded, a compile run > with "maxcpus=1" is actually faster than a compile run > with both cores activated. But with the second core > deactivated using "echo 0 > > /sys/devices/system/cpu/cpu1/online" it is even slower > than with both cores. Thermal fun? Check cooling. > Is here any method to get the exact same behaviour of > "maxcpus=1" with disabling the second core only > temporarily? So that the second core could be disabled > before the ant execution and enabled after the ant > execution? Patch pushing 0 > online cores into C4 would be nice. -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-28 13:59 ` Pavel Machek @ 2008-03-29 20:55 ` Michael Meyer 2008-03-29 21:22 ` Pavel Machek 0 siblings, 1 reply; 17+ messages in thread From: Michael Meyer @ 2008-03-29 20:55 UTC (permalink / raw) To: Pavel Machek; +Cc: linux-kernel --- Pavel Machek <pavel@ucw.cz> schrieb: > On Tue 2008-03-25 14:47:50, 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 : core stays powered off > 0 > online : core enters halt. > > > I observed a funny behaviour of apache ant: although > > it uses javac which is single threaded, a compile run > > with "maxcpus=1" is actually faster than a compile run > > with both cores activated. But with the second core > > deactivated using "echo 0 > > > /sys/devices/system/cpu/cpu1/online" it is even slower > > than with both cores. > > Thermal fun? Check cooling. I have an extremely well cooled case and a Thermaltake Typhoon sitting on the E6600 (Intel TDP 65 Watt). At a room temperature of 20°C both cores idle at 21°C and after one hour of two instances of prime95 running they are both at 28-33°C. As the E6600 is specified until 60°C (I believe), this should prevent any thermal throttling? > > Is here any method to get the exact same behaviour of > > "maxcpus=1" with disabling the second core only > > temporarily? So that the second core could be disabled > > before the ant execution and enabled after the ant > > execution? > > Patch pushing 0 > online cores into C4 would be nice. > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > -- > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > E-Mails jetzt auf Ihrem Handy. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-29 20:55 ` Michael Meyer @ 2008-03-29 21:22 ` Pavel Machek 2008-03-29 22:16 ` Michael Meyer 0 siblings, 1 reply; 17+ messages in thread From: Pavel Machek @ 2008-03-29 21:22 UTC (permalink / raw) To: Michael Meyer; +Cc: linux-kernel 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 : core stays powered off > > 0 > online : core enters halt. > > > > > I observed a funny behaviour of apache ant: although > > > it uses javac which is single threaded, a compile run > > > with "maxcpus=1" is actually faster than a compile run > > > with both cores activated. But with the second core > > > deactivated using "echo 0 > > > > /sys/devices/system/cpu/cpu1/online" it is even slower > > > than with both cores. > > > > Thermal fun? Check cooling. > > I have an extremely well cooled case and a Thermaltake Typhoon sitting > on the E6600 (Intel TDP 65 Watt). At a room temperature of 20°C both > cores idle at 21°C and after one hour of two instances of prime95 > running they are both at 28-33°C. As the E6600 is specified until 60°C > (I believe), this should prevent any thermal throttling? Ok, and your chip is too old to have "Enhanced Dynamic Acceleration Technology" (Intel, can't you use some reasonable names?!)... both would explain effects you see, and it is neither... You could try implementing deep sleep (C4) state for cpu hotplug.... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-29 21:22 ` Pavel Machek @ 2008-03-29 22:16 ` Michael Meyer 2008-04-02 11:31 ` Pavel Machek 0 siblings, 1 reply; 17+ messages in thread From: Michael Meyer @ 2008-03-29 22:16 UTC (permalink / raw) To: Pavel Machek; +Cc: linux-kernel --- Pavel Machek <pavel@ucw.cz> schrieb: > 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 : core stays powered off > > > 0 > online : core enters halt. > > > > > > > I observed a funny behaviour of apache ant: although > > > > it uses javac which is single threaded, a compile run > > > > with "maxcpus=1" is actually faster than a compile run > > > > with both cores activated. But with the second core > > > > deactivated using "echo 0 > > > > > /sys/devices/system/cpu/cpu1/online" it is even slower > > > > than with both cores. > > > > > > Thermal fun? Check cooling. > > > > I have an extremely well cooled case and a Thermaltake Typhoon > sitting > > on the E6600 (Intel TDP 65 Watt). At a room temperature of 20°C > both > > cores idle at 21°C and after one hour of two instances of prime95 > > running they are both at 28-33°C. As the E6600 is specified until > 60°C > > (I believe), this should prevent any thermal throttling? > > Ok, and your chip is too old to have "Enhanced Dynamic Acceleration > Technology" (Intel, can't you use some reasonable names?!)... both > would explain effects you see, and it is neither... It is too old to have that. I bought it at the beginning of 2007 and it is from the first line of Core 2 Duo processors (released in summer 2006). I think "Enhanced Dynamic Acceleration Technology" is only available recently. > You could try implementing deep sleep (C4) state for cpu hotplug.... I have to confess that I sneaked unto LKML illegitimately, as I am not a kernel hacker. But thank you all very much for all the hints! Lesen Sie Ihre E-Mails jetzt einfach von unterwegs. www.yahoo.de/go ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-29 22:16 ` Michael Meyer @ 2008-04-02 11:31 ` Pavel Machek 0 siblings, 0 replies; 17+ messages in thread From: Pavel Machek @ 2008-04-02 11:31 UTC (permalink / raw) To: Michael Meyer; +Cc: linux-kernel Hi! > > Ok, and your chip is too old to have "Enhanced Dynamic Acceleration > > Technology" (Intel, can't you use some reasonable names?!)... both > > would explain effects you see, and it is neither... > > It is too old to have that. I bought it at the beginning of 2007 and it > is from the first line of Core 2 Duo processors (released in summer > 2006). I think "Enhanced Dynamic Acceleration Technology" is only > available recently. > > > You could try implementing deep sleep (C4) state for cpu hotplug.... > > I have to confess that I sneaked unto LKML illegitimately, as I am not > a kernel hacker. You can still play one, and submit a patch. Over internet, noone can tell if you are hacker or not ;-). I would be happy to help with good advice ;-). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" 2008-03-25 13:47 performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" Michael Meyer 2008-03-25 14:08 ` Luciano Rocha 2008-03-28 13:59 ` Pavel Machek @ 2008-03-29 23:22 ` Bernd Eckenfels 2 siblings, 0 replies; 17+ messages in thread From: Bernd Eckenfels @ 2008-03-29 23:22 UTC (permalink / raw) To: linux-kernel In article <16336.23884.qm@web25814.mail.ukl.yahoo.com> you wrote: > Is here any method to get the exact same behaviour of > "maxcpus=1" with disabling the second core only I dont have much insight, but I do remember some java performance problems on Multi-Core with some Dell Desktops. I think they had been fixed with a Bios upgrade. Sorry I dont remeber the chip and revision details anymore. I just felt reminded, because MAXCPU=1 helped back then, also. Gruss Bernd y ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-04-02 11:31 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-03-25 13:47 performance differences: "maxcpus=1" vs. "echo 0 > /sys/devices/system/cpu/cpu1/online" Michael Meyer 2008-03-25 14:08 ` Luciano Rocha 2008-03-25 16:38 ` Michael Meyer 2008-03-25 17:16 ` Andi Kleen 2008-03-25 17:23 ` Michael Meyer 2008-03-25 17:49 ` Wander Winkelhorst 2008-03-25 17:56 ` Michael Meyer 2008-03-25 17:57 ` Andi Kleen 2008-03-25 23:27 ` Len Brown 2008-03-26 7:26 ` Michael Meyer 2008-03-28 14:00 ` Pavel Machek 2008-03-28 13:59 ` Pavel Machek 2008-03-29 20:55 ` Michael Meyer 2008-03-29 21:22 ` Pavel Machek 2008-03-29 22:16 ` Michael Meyer 2008-04-02 11:31 ` Pavel Machek 2008-03-29 23:22 ` Bernd Eckenfels
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox