* Re: [XFS] add missing file xfs_iomap.c [not found] <200212160004.gBG04g130091@hera.kernel.org> @ 2002-12-16 2:34 ` Anders Gustafsson 2002-12-16 3:58 ` /proc/cpuinfo and hyperthreading Scott Robert Ladd 2002-12-16 4:39 ` [XFS] add missing file xfs_iomap.c Linus Torvalds 0 siblings, 2 replies; 25+ messages in thread From: Anders Gustafsson @ 2002-12-16 2:34 UTC (permalink / raw) To: Linux Kernel Mailing List; +Cc: torvalds On Sun, Dec 15, 2002 at 10:07:43PM +0000, Linux Kernel Mailing List wrote: > # This patch includes the following deltas: > # ChangeSet 1.940.1.1 -> 1.940.1.2 > # (new) -> 1.1 fs/xfs/xfs.ko > # > > xfs.ko |binary > 1 files changed > > > Binary files a/fs/xfs/xfs.ko and b/fs/xfs/xfs.ko differ A .ko in the bitkeeper? This can't be correct? -- Anders Gustafsson - andersg@0x63.nu - http://0x63.nu/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* /proc/cpuinfo and hyperthreading 2002-12-16 2:34 ` [XFS] add missing file xfs_iomap.c Anders Gustafsson @ 2002-12-16 3:58 ` Scott Robert Ladd 2002-12-16 4:02 ` Robert Love 2002-12-16 14:08 ` Dave Jones 2002-12-16 4:39 ` [XFS] add missing file xfs_iomap.c Linus Torvalds 1 sibling, 2 replies; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 3:58 UTC (permalink / raw) To: Linux Kernel Mailing List Hello: When I cat /proc/cpuinfo on my Pentium 4 system, it says: processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Pentium 4 (Northwood) stepping : 7 cpu MHz : 2783.753 cache size : 512 KB physical id : 0 siblings : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 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 bogomips : 5488.64 Am I correct to infer that the "siblings" entry refers to the 2-way hyperthreading on my CPU? During boot, the system reports: Dec 15 14:30:34 Tycho kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Dec 15 14:30:34 Tycho kernel: Processor #0 15:2 APIC version 16 Dec 15 14:30:34 Tycho kernel: ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) Dec 15 14:30:34 Tycho kernel: Processor #1 15:2 APIC version 16 Dec 15 14:30:34 Tycho kernel: Building zonelist for node : 0 Dec 15 14:30:34 Tycho kernel: Kernel command line: BOOT_IMAGE=smp ro root=306 Dec 15 14:30:34 Tycho kernel: Found and enabled local APIC! Dec 15 14:30:34 Tycho kernel: Initializing CPU#0 Dec 15 14:30:34 Tycho kernel: Detected 2783.753 MHz processor. Dec 15 14:30:34 Tycho kernel: Console: colour VGA+ 80x25 Dec 15 14:30:34 Tycho kernel: Calibrating delay loop... 5488.64 BogoMIPS Dec 15 14:30:34 Tycho kernel: Memory: 255916k/261888k available (1411k kernel code, 5216k reserved, 567k data, 276k init, 0k highmem) Dec 15 14:30:34 Tycho kernel: Dentry cache hash table entries: 32768 (order: 6, 262144 bytes) Dec 15 14:30:34 Tycho kernel: Inode-cache hash table entries: 16384 (order: 5, 131072 bytes) Dec 15 14:30:34 Tycho kernel: Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Dec 15 14:30:34 Tycho kernel: -> /dev Dec 15 14:30:34 Tycho kernel: -> /dev/console Dec 15 14:30:34 Tycho kernel: -> /root Dec 15 14:30:34 Tycho kernel: CPU: Before vendor init, caps: bfebfbff 00000000 00000000, vendor = 0 Dec 15 14:30:34 Tycho kernel: CPU: Trace cache: 12K uops, L1 D cache: 8K Dec 15 14:30:34 Tycho kernel: CPU: L2 cache: 512K Dec 15 14:30:34 Tycho kernel: CPU: Physical Processor ID: 0 Dec 15 14:30:34 Tycho kernel: CPU: After vendor init, caps: bfebfbff 00000000 00000000 00000000 Dec 15 14:30:34 Tycho kernel: CPU: After generic, caps: bfebfbff 00000000 00000000 00000000 Dec 15 14:30:34 Tycho kernel: CPU: Common caps: bfebfbff 00000000 00000000 00000000 Dec 15 14:30:34 Tycho kernel: Enabling fast FPU save and restore... done. Dec 15 14:30:34 Tycho kernel: Enabling unmasked SIMD FPU exception support... done. Dec 15 14:30:34 Tycho kernel: Checking 'hlt' instruction... OK. Dec 15 14:30:34 Tycho kernel: POSIX conformance testing by UNIFIX Dec 15 14:30:34 Tycho kernel: CPU0: Intel Pentium 4 (Northwood) stepping 07 Dec 15 14:30:34 Tycho kernel: per-CPU timeslice cutoff: 1462.97 usecs. Dec 15 14:30:34 Tycho kernel: task migration cache decay timeout: 2 msecs. Dec 15 14:30:34 Tycho kernel: SMP motherboard not detected. Dec 15 14:30:34 Tycho kernel: enabled ExtINT on CPU#0 Dec 15 14:30:34 Tycho kernel: ESR value before enabling vector: 00000000 Dec 15 14:30:34 Tycho kernel: ESR value after enabling vector: 00000000 Dec 15 14:30:34 Tycho kernel: Using local APIC timer interrupts. Dec 15 14:30:34 Tycho kernel: calibrating APIC timer ... Dec 15 14:30:34 Tycho kernel: ..... CPU clock speed is 2783.0885 MHz. Dec 15 14:30:34 Tycho kernel: ..... host bus clock speed is 132.0565 MHz. Dec 15 14:30:34 Tycho kernel: Starting migration thread for cpu 0 Dec 15 14:30:34 Tycho kernel: CPUS done 2 I just want to be sure that hyperthreading is, in fact, working in 2.5.51. ..Scott -- Scott Robert Ladd Coyote Gulch Productions, http://www.coyotegulch.com No ads -- just very free (and somewhat unusual) code. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 3:58 ` /proc/cpuinfo and hyperthreading Scott Robert Ladd @ 2002-12-16 4:02 ` Robert Love 2002-12-16 4:13 ` Scott Robert Ladd 2002-12-16 14:08 ` Dave Jones 1 sibling, 1 reply; 25+ messages in thread From: Robert Love @ 2002-12-16 4:02 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Linux Kernel Mailing List On Sun, 2002-12-15 at 22:58, Scott Robert Ladd wrote: > Am I correct to infer that the "siblings" entry refers to the 2-way > hyperthreading on my CPU? Yep, the 'siblings' value is the number of virtual processors in the physical package. Do you only see one processor listing in /proc/cpuinfo, though? You should see one for each (virtual) processor. That means two in a single HT-enabled P4, each with the same physical id. So it seems your chip works... is the kernel compiled for SMP? Robert Love ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: /proc/cpuinfo and hyperthreading 2002-12-16 4:02 ` Robert Love @ 2002-12-16 4:13 ` Scott Robert Ladd 2002-12-16 6:28 ` Zwane Mwaikambo 0 siblings, 1 reply; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 4:13 UTC (permalink / raw) To: Robert Love; +Cc: Linux Kernel Mailing List Robert Love wrote: > Yep, the 'siblings' value is the number of virtual processors in the > physical package. > > Do you only see one processor listing in /proc/cpuinfo, though? You > should see one for each (virtual) processor. That means two in a single > HT-enabled P4, each with the same physical id. That's what I expected! > So it seems your chip works... is the kernel compiled for SMP? Yup, it's compiled for SMP -- or, at least, I selected that option in make menuconfig... ;) The boot reports: Dec 15 11:51:18 Tycho kernel: Linux version 2.5.51 (root@Tycho) (gcc version 2.95.4 20011002 (Debian prerelease)) #11 SMP Sat Dec 14 21:40:42 EST 2002 But later in the boot, it also states: Dec 15 11:51:18 Tycho kernel: SMP motherboard not detected. Something just doesn't look right about this. ..Scott -- Scott Robert Ladd Coyote Gulch Productions, http://www.coyotegulch.com No ads -- just very free (and somewhat unusual) code. ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: /proc/cpuinfo and hyperthreading 2002-12-16 4:13 ` Scott Robert Ladd @ 2002-12-16 6:28 ` Zwane Mwaikambo 2002-12-16 6:35 ` Zwane Mwaikambo 0 siblings, 1 reply; 25+ messages in thread From: Zwane Mwaikambo @ 2002-12-16 6:28 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Robert Love, Linux Kernel Mailing List On Sun, 15 Dec 2002, Scott Robert Ladd wrote: > But later in the boot, it also states: > > Dec 15 11:51:18 Tycho kernel: SMP motherboard not detected. > > Something just doesn't look right about this. Thats just the MP table parsing code whining. Which is ok since you're using ACPI... hmm then again... if (!smp_found_config) { printk(KERN_NOTICE "SMP motherboard not detected.\n"); smpboot_clear_io_apic_irqs(); phys_cpu_present_map = 1; if (APIC_init_uniprocessor()) -- function.linuxpower.ca ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: /proc/cpuinfo and hyperthreading 2002-12-16 6:28 ` Zwane Mwaikambo @ 2002-12-16 6:35 ` Zwane Mwaikambo 2002-12-16 13:38 ` Scott Robert Ladd 0 siblings, 1 reply; 25+ messages in thread From: Zwane Mwaikambo @ 2002-12-16 6:35 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Robert Love, Linux Kernel Mailing List On Mon, 16 Dec 2002, Zwane Mwaikambo wrote: > On Sun, 15 Dec 2002, Scott Robert Ladd wrote: > > > But later in the boot, it also states: > > > > Dec 15 11:51:18 Tycho kernel: SMP motherboard not detected. > > > > Something just doesn't look right about this. > > Thats just the MP table parsing code whining. Which is ok since you're > using ACPI... hmm then again... > > if (!smp_found_config) { > printk(KERN_NOTICE "SMP motherboard not detected.\n"); > smpboot_clear_io_apic_irqs(); > phys_cpu_present_map = 1; > if (APIC_init_uniprocessor()) Dec 15 14:30:34 Tycho kernel: CPUS done 2 It's ok. (I feel like Jekyll & Hyde)... -- function.linuxpower.ca ^ permalink raw reply [flat|nested] 25+ messages in thread
* re: /proc/cpuinfo and hyperthreading 2002-12-16 6:35 ` Zwane Mwaikambo @ 2002-12-16 13:38 ` Scott Robert Ladd 2002-12-16 13:54 ` Brian Jackson 0 siblings, 1 reply; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 13:38 UTC (permalink / raw) To: Zwane Mwaikambo; +Cc: Robert Love, Linux Kernel Mailing List Zwane Mwaikambo wrote: > It's ok. I'm not so sure. To get the most benefit from two logical CPUs, don't I need the kernel to operate as a 2-CPU SMP system? Windows XP initializes the system as SMP with two CPUs; when I run an OpenMP application under Windows, it reports two CPUs and a maximum of two threads. Under Linux, Linux SMP should initialize based on the number of logical CPUS, not the physical number of ships; thus, I should be seeing two CPUs in /proc/cpuinfo, not one. ..Scott ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 13:38 ` Scott Robert Ladd @ 2002-12-16 13:54 ` Brian Jackson 2002-12-16 14:10 ` Richard B. Johnson 2002-12-16 15:52 ` /proc/cpuinfo and hyperthreading Andrew Theurer 0 siblings, 2 replies; 25+ messages in thread From: Brian Jackson @ 2002-12-16 13:54 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Linux Kernel Mailing List You could always boot once with nosmp and run some benchmarks and then reboot (with smp) and run some more benchmarks, and see if there is a difference. --Brian Jackson Scott Robert Ladd writes: > Zwane Mwaikambo wrote: >> It's ok. > > I'm not so sure. > > To get the most benefit from two logical CPUs, don't I need the kernel to > operate as a 2-CPU SMP system? > > Windows XP initializes the system as SMP with two CPUs; when I run an OpenMP > application under Windows, it reports two CPUs and a maximum of two threads. > Under Linux, > > Linux SMP should initialize based on the number of logical CPUS, not the > physical number of ships; thus, I should be seeing two CPUs in > /proc/cpuinfo, not one. > > ..Scott > > - > 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/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 13:54 ` Brian Jackson @ 2002-12-16 14:10 ` Richard B. Johnson 2002-12-16 14:56 ` Scott Robert Ladd 2002-12-16 15:52 ` /proc/cpuinfo and hyperthreading Andrew Theurer 1 sibling, 1 reply; 25+ messages in thread From: Richard B. Johnson @ 2002-12-16 14:10 UTC (permalink / raw) To: Brian Jackson; +Cc: Scott Robert Ladd, Linux Kernel Mailing List On Mon, 16 Dec 2002, Brian Jackson wrote: > You could always boot once with nosmp and run some benchmarks and then > reboot (with smp) and run some more benchmarks, and see if there is a > difference. > > --Brian Jackson > > > Scott Robert Ladd writes: > > > Zwane Mwaikambo wrote: > >> It's ok. > > > > I'm not so sure. > > > > To get the most benefit from two logical CPUs, don't I need the kernel to > > operate as a 2-CPU SMP system? > > > > Windows XP initializes the system as SMP with two CPUs; when I run an OpenMP ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ How do you know this? How can I learn what Windows does with Win/2000/professional? The only way I know I have two CPUs is when the machine fails to reboot because the file-system has been completely trashed by the two CPUs banging on it at the same time. The solution has been to remove one CPU. M$ claims; "Windows will over-power the system if two CPUs are present...." Direct quote. If you have two logical CPUs, you can't remove one, therefore, unless M$ has fixed the problem(s) in XP, you can't use Windows with two logical CPUs, i.e., hyperthreading. > > application under Windows, it reports two CPUs and a maximum of two threads. > > Under Linux, > > Cheers, Dick Johnson Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips). Why is the government concerned about the lunatic fringe? Think about it. ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: /proc/cpuinfo and hyperthreading 2002-12-16 14:10 ` Richard B. Johnson @ 2002-12-16 14:56 ` Scott Robert Ladd 2002-12-16 15:11 ` Måns Rullgård 0 siblings, 1 reply; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 14:56 UTC (permalink / raw) To: root, Brian Jackson; +Cc: Linux Kernel Mailing List Richard Johnson asked: > How do you know this? How can I learn what Windows does with > Win/2000/professional? Run the Windows Task Manager and selected the Performance tab; on my system, it shows two separate graphs, one for each logical CPU. > if two CPUs are present...." Direct quote. If you have two logical > CPUs, you can't remove one, therefore, unless M$ has fixed the problem(s) > in XP, you can't use Windows with two logical CPUs, i.e., hyperthreading. The machine came with Windows XP pre-installed; I ran it a couple of times, then blew it away (do I hear cheers?) when I installed Linux. I probably didn't run it long-enough to hit any bugs. ..Scott -- Scott Robert Ladd Coyote Gulch Productions, http://www.coyotegulch.com No ads -- just very free (and somewhat unusual) code. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 14:56 ` Scott Robert Ladd @ 2002-12-16 15:11 ` Måns Rullgård 2002-12-16 15:44 ` HT Benchmarks (was: /proc/cpuinfo and hyperthreading) Scott Robert Ladd 0 siblings, 1 reply; 25+ messages in thread From: Måns Rullgård @ 2002-12-16 15:11 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: root, Brian Jackson, Linux Kernel Mailing List "Scott Robert Ladd" <scott@coyotegulch.com> writes: > > How do you know this? How can I learn what Windows does with > > Win/2000/professional? > > Run the Windows Task Manager and selected the Performance tab; on my system, > it shows two separate graphs, one for each logical CPU. It's easy to write a program that displays any number of graphs vaguely related to the system load. How do we know that the performance meter isn't lying? -- Måns Rullgård mru@users.sf.net ^ permalink raw reply [flat|nested] 25+ messages in thread
* HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 15:11 ` Måns Rullgård @ 2002-12-16 15:44 ` Scott Robert Ladd 2002-12-16 22:38 ` J.A. Magallon 0 siblings, 1 reply; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 15:44 UTC (permalink / raw) To: Linux Kernel Mailing List Måns Rullgård wrote: > It's easy to write a program that displays any number of graphs > vaguely related to the system load. How do we know that the > performance meter isn't lying? We don't. All I can say is that the performance meter seems (note the weasel-word) proper when running Win2K SMP on a dual PIII-933 box at one of my client sites. However, such experience does *not* guarantee that WinXP is reporting valid numbers for a P4 with HT. Here's a little test I ran this morning, now that my new system is operational. My benchmark is a full "make bootstrap" compile of gcc-3.2.1, with and without the - j 2 make switch that enables two threads of compilation. Using the 2.5.51 SMP kernel, I see the following compile times: SMP w/o -j 2: 28m11s "nosmp" with -j 2: 27m32s SMP with -j 2: 24m21s HT appears to give a very tiny benefit even without an SMP kernel -- and *with* an SMP kernel, I get a 16% improvement in my compile time. That pretty much matches my expectation (i.e., a HT processor is *not* equal to dual processor, but it *is* better than a non-HT processor). Just some food for collective thought. ..Scott ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 15:44 ` HT Benchmarks (was: /proc/cpuinfo and hyperthreading) Scott Robert Ladd @ 2002-12-16 22:38 ` J.A. Magallon 2002-12-16 23:21 ` Scott Robert Ladd 2002-12-17 19:27 ` Bill Davidsen 0 siblings, 2 replies; 25+ messages in thread From: J.A. Magallon @ 2002-12-16 22:38 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Linux Kernel Mailing List On 2002.12.16 Scott Robert Ladd wrote: >Måns Rullgård wrote: >> It's easy to write a program that displays any number of graphs >> vaguely related to the system load. How do we know that the >> performance meter isn't lying? > >We don't. > >All I can say is that the performance meter seems (note the weasel-word) >proper when running Win2K SMP on a dual PIII-933 box at one of my client >sites. However, such experience does *not* guarantee that WinXP is reporting >valid numbers for a P4 with HT. > >Here's a little test I ran this morning, now that my new system is >operational. My benchmark is a full "make bootstrap" compile of gcc-3.2.1, >with and without the - j 2 make switch that enables two threads of >compilation. Using the 2.5.51 SMP kernel, I see the following compile times: > > SMP w/o -j 2: 28m11s > "nosmp" with -j 2: 27m32s > SMP with -j 2: 24m21s > >HT appears to give a very tiny benefit even without an SMP kernel -- and >*with* an SMP kernel, I get a 16% improvement in my compile time. That >pretty much matches my expectation (i.e., a HT processor is *not* equal to >dual processor, but it *is* better than a non-HT processor). > HT can give no benefit in UP case, nobody knows that the sibling exists and the P4 does not paralelize itself. The gain you see is due to computation-io overlap. This my render code, implemented with posix threads, running on a dual P4-Xeon@1.8GHz. Work is just dynamic strctures walk-through and floating point calculation, no IO. In this example the database is tiny, so there is no swap, and the box is 'all mine', any other process eating CPU. Processes do not bounce between cpus and ht-aware scheduler prefers a processor in different physical package when two cpu intensive threads are running, so in the 2-threads case they run on different packages: Number of threads Elapsed time User Time System Time 1 53:216 53:220 00:000 2 29:272 58:180 00:320 3 27:162 1:21:450 00:540 4 25:094 1:41:080 01:250 Elapsed is measured by the parent thread, that is not doing anything but wait on a pthread_join. User and system times are the sum of times for all the children threads, that do real work. The jump from 1->2 threads is fine, the one from 2->4 is ridiculous... I have my cpus doubled but each one has half the pipelining for floating point...see the user cpu time increased due to 'worst' processors and cache pollution on each package. So, IMHO and for my apps, HyperThreading is just a bad joke. -- J.A. Magallon <jamagallon@able.es> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.20-jam1 (gcc 3.2 (Mandrake Linux 9.1 3.2-4mdk)) ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 22:38 ` J.A. Magallon @ 2002-12-16 23:21 ` Scott Robert Ladd 2002-12-16 23:27 ` J.A. Magallon 2002-12-16 23:50 ` H. Peter Anvin 2002-12-17 19:27 ` Bill Davidsen 1 sibling, 2 replies; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 23:21 UTC (permalink / raw) To: J.A. Magallon; +Cc: Linux Kernel Mailing List J.A. Magallon wrote: > HT can give no benefit in UP case, nobody knows that the sibling exists > and the P4 does not paralelize itself. The gain you see is due to > computation-io overlap. I see the light! Thank you. > This my render code, implemented with posix threads, running on a dual > P4-Xeon@1.8GHz. > Number of threads Elapsed time User Time System Time > 1 53:216 53:220 00:000 > 2 29:272 58:180 00:320 > 3 27:162 1:21:450 00:540 > 4 25:094 1:41:080 01:250 > > Elapsed is measured by the parent thread, that is not doing anything > but wait on a pthread_join. User and system times are the sum of > times for all the children threads, that do real work. > > The jump from 1->2 threads is fine, the one from 2->4 is ridiculous... > I have my cpus doubled but each one has half the pipelining for floating > point...see the user cpu time increased due to 'worst' processors and > cache pollution on each package. >From what I can see, HT provides a 0-15% increase in performance, depending heavily on the type of code being run. In other words, HT helps, but it is *no* substitute for true multiple processors. And it is ONLY of value when an SMP kernel is in use. What you're seeing meshes with my results: our perfromance gains from HT are about the same. HT didn't lose either of us anything, but it sure as heck didn't make the kind of difference the hype seems to imply. As for REAL SMP: I posted some more numbers on my web site (URL below), using the same gcc compile test on my dual-proc with PIII-600s. Using a single process, the compile took just under a 100 minutes, while with two processes, it finished in 58.5 minutes. Real SMP reduced the time by 40% (again, similar to your numbers). ..Scott -- Scott Robert Ladd Coyote Gulch Productions, http://www.coyotegulch.com No ads -- just very free (and somewhat unusual) code. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 23:21 ` Scott Robert Ladd @ 2002-12-16 23:27 ` J.A. Magallon 2002-12-17 11:03 ` Denis Vlasenko 2002-12-16 23:50 ` H. Peter Anvin 1 sibling, 1 reply; 25+ messages in thread From: J.A. Magallon @ 2002-12-16 23:27 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Linux Kernel Mailing List On 2002.12.17 Scott Robert Ladd wrote: [...] > >From what I can see, HT provides a 0-15% increase in performance, depending >heavily on the type of code being run. In other words, HT helps, but it is >*no* substitute for true multiple processors. And it is ONLY of value when >an SMP kernel is in use. > What I don't like is that Intel sells it like the best thing since sliced bread, and get a money for it, see the price of Xeons compared to normal P4s... -- J.A. Magallon <jamagallon@able.es> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.20-jam1 (gcc 3.2 (Mandrake Linux 9.1 3.2-4mdk)) ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 23:27 ` J.A. Magallon @ 2002-12-17 11:03 ` Denis Vlasenko 2002-12-17 20:44 ` H. Peter Anvin 0 siblings, 1 reply; 25+ messages in thread From: Denis Vlasenko @ 2002-12-17 11:03 UTC (permalink / raw) To: J.A. Magallon, Scott Robert Ladd; +Cc: Linux Kernel Mailing List On 16 December 2002 21:27, J.A. Magallon wrote: > On 2002.12.17 Scott Robert Ladd wrote: > [...] > > From what I can see, HT provides a 0-15% increase in performance, > depending > > >heavily on the type of code being run. In other words, HT helps, but > > it is *no* substitute for true multiple processors. And it is ONLY > > of value when an SMP kernel is in use. > > What I don't like is that Intel sells it like the best thing since > sliced bread, and get a money for it, see the price of Xeons compared > to normal P4s... What did you expect? They are making processors for money, and have to push the sales. As to HT, it's definitely a good thing. Multiple CPUs on a chip is a logical step. HT in P4 is rather weak, but future processors will likely have more advanced cores. I never heard about HT from AMD camp. I'm curious what they do. ;) -- vda ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-17 11:03 ` Denis Vlasenko @ 2002-12-17 20:44 ` H. Peter Anvin 0 siblings, 0 replies; 25+ messages in thread From: H. Peter Anvin @ 2002-12-17 20:44 UTC (permalink / raw) To: linux-kernel Followup to: <200212170614.gBH6ELs15888@Port.imtp.ilyichevsk.odessa.ua> By author: Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua> In newsgroup: linux.dev.kernel > > As to HT, it's definitely a good thing. Multiple CPUs on a chip is > a logical step. HT in P4 is rather weak, but future processors will > likely have more advanced cores. > SMT and SMP-on-chip are two very different things. > I never heard about HT from AMD camp. I'm curious what they do. ;) Not have insanely long pipelines, so that a single thread can actually use the processor functional units? -hpa -- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt <amsp@zytor.com> ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 23:21 ` Scott Robert Ladd 2002-12-16 23:27 ` J.A. Magallon @ 2002-12-16 23:50 ` H. Peter Anvin 1 sibling, 0 replies; 25+ messages in thread From: H. Peter Anvin @ 2002-12-16 23:50 UTC (permalink / raw) To: linux-kernel Followup to: <FKEAJLBKJCGBDJJIPJLJAEOLDLAA.scott@coyotegulch.com> By author: "Scott Robert Ladd" <scott@coyotegulch.com> In newsgroup: linux.dev.kernel > > From what I can see, HT provides a 0-15% increase in performance, depending > heavily on the type of code being run. In other words, HT helps, but it is > *no* substitute for true multiple processors. And it is ONLY of value when > an SMP kernel is in use. > It would be interesting to compare an UP kernel with HT off to an SMP kernel with the HT on... -hpa -- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt <amsp@zytor.com> ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-16 22:38 ` J.A. Magallon 2002-12-16 23:21 ` Scott Robert Ladd @ 2002-12-17 19:27 ` Bill Davidsen 1 sibling, 0 replies; 25+ messages in thread From: Bill Davidsen @ 2002-12-17 19:27 UTC (permalink / raw) To: J.A. Magallon; +Cc: Linux-Kernel Mailing List On Mon, 16 Dec 2002, J.A. Magallon wrote: > Number of threads Elapsed time User Time System Time > 1 53:216 53:220 00:000 > 2 29:272 58:180 00:320 > 3 27:162 1:21:450 00:540 > 4 25:094 1:41:080 01:250 > > Elapsed is measured by the parent thread, that is not doing anything > but wait on a pthread_join. User and system times are the sum of > times for all the children threads, that do real work. > > The jump from 1->2 threads is fine, the one from 2->4 is ridiculous... > I have my cpus doubled but each one has half the pipelining for floating > point...see the user cpu time increased due to 'worst' processors and > cache pollution on each package. > > So, IMHO and for my apps, HyperThreading is just a bad joke. I must be misreading this, it looks to me as though having threads running HT is reducing the clock time, and frankly that's what I want. It may not be as good as having more processors, but it certainly is better for nothing, even for your application. I read that as about 10% faster, and I know people who spend more on fans to o/c their CPU than the premium for a Xeon. More to the point, since you have no choice if you want to go fast or have >2 CPUs, you get HT included. Clearly if you want good latency you don't run SMP at all due to the extra locking, that's a kernel issue, not HT. -- bill davidsen <davidsen@tmr.com> CTO, TMR Associates, Inc Doing interesting things with little computers since 1979. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 13:54 ` Brian Jackson 2002-12-16 14:10 ` Richard B. Johnson @ 2002-12-16 15:52 ` Andrew Theurer 1 sibling, 0 replies; 25+ messages in thread From: Andrew Theurer @ 2002-12-16 15:52 UTC (permalink / raw) To: Brian Jackson, Scott Robert Ladd; +Cc: Linux Kernel Mailing List On Monday 16 December 2002 07:54, Brian Jackson wrote: > You could always boot once with nosmp and run some benchmarks and then > reboot (with smp) and run some more benchmarks, and see if there is a > difference. Yes, but wouldn't booting a UP kernel be a better comparison? After all, why incur any possible overhead of an SMP kernel if you don't need to? Some benchmarks may not show a difference, but some definitely will. -Andrew Theurer ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: /proc/cpuinfo and hyperthreading 2002-12-16 3:58 ` /proc/cpuinfo and hyperthreading Scott Robert Ladd 2002-12-16 4:02 ` Robert Love @ 2002-12-16 14:08 ` Dave Jones 2002-12-16 14:36 ` Scott Robert Ladd 1 sibling, 1 reply; 25+ messages in thread From: Dave Jones @ 2002-12-16 14:08 UTC (permalink / raw) To: Scott Robert Ladd; +Cc: Linux Kernel Mailing List On Sun, Dec 15, 2002 at 10:58:12PM -0500, Scott Robert Ladd wrote: > During boot, the system reports: > Dec 15 14:30:34 Tycho kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] > enabled) > Dec 15 14:30:34 Tycho kernel: Processor #0 15:2 APIC version 16 > Dec 15 14:30:34 Tycho kernel: ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] > enabled) > Dec 15 14:30:34 Tycho kernel: Processor #1 15:2 APIC version 16 > Dec 15 14:30:34 Tycho kernel: Building zonelist for node : 0 Looks like you're either missing some ACPI config options, or you haven't updated the BIOS yet. On 2.5.51 with latest BIOS on the same box, I get.. Dec 12 16:28:55 tetrachloride kernel: Processor #1 15:2 APIC version 16 Dec 12 16:28:55 tetrachloride kernel: ACPI: LAPIC_NMI (acpi_id[0x01] polarity[0x0] trigger[0x0] lint[0x1]) Dec 12 16:28:55 tetrachloride kernel: ACPI: LAPIC_NMI (acpi_id[0x02] polarity[0x0] trigger[0x0] lint[0x1]) Dec 12 16:28:55 tetrachloride kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000] global_irq_base[0x0]) Dec 12 16:28:55 tetrachloride kernel: IOAPIC[0]: Assigned apic_id 2 Dec 12 16:28:55 tetrachloride kernel: IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, IRQ 0-23 Dec 12 16:28:55 tetrachloride kernel: ACPI: INT_SRC_OVR (bus[0] irq[0x9] global_irq[0x9] polarity[0x1] trigger[0x3]) Dec 12 16:28:55 tetrachloride kernel: ACPI: INT_SRC_OVR (bus[0] irq[0x0] global_irq[0x2] polarity[0x0] trigger[0x0]) Dec 12 16:28:55 tetrachloride kernel: Using ACPI (MADT) for SMP configuration information Dec 12 16:28:55 tetrachloride kernel: Building zonelist for node: 0 Dave -- | Dave Jones. http://www.codemonkey.org.uk | SuSE Labs ^ permalink raw reply [flat|nested] 25+ messages in thread
* RE: /proc/cpuinfo and hyperthreading 2002-12-16 14:08 ` Dave Jones @ 2002-12-16 14:36 ` Scott Robert Ladd 0 siblings, 0 replies; 25+ messages in thread From: Scott Robert Ladd @ 2002-12-16 14:36 UTC (permalink / raw) To: Dave Jones; +Cc: Linux Kernel Mailing List Dave Jones wrote: > Looks like you're either missing some ACPI config options, or > you haven't updated the BIOS yet. On 2.5.51 with latest BIOS on > the same box, I get.. Everything is fixed. No, I hadn't upgraded the BIOS; when I asked a contact at Intel about the problem, I was told told me that BIOS was the latest. I should have know better than to believe them! Thank you very much; cat /proc/cpuinfo now reports two CPUs. ..Scott ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [XFS] add missing file xfs_iomap.c 2002-12-16 2:34 ` [XFS] add missing file xfs_iomap.c Anders Gustafsson 2002-12-16 3:58 ` /proc/cpuinfo and hyperthreading Scott Robert Ladd @ 2002-12-16 4:39 ` Linus Torvalds 1 sibling, 0 replies; 25+ messages in thread From: Linus Torvalds @ 2002-12-16 4:39 UTC (permalink / raw) To: Anders Gustafsson; +Cc: Linux Kernel Mailing List On Mon, 16 Dec 2002, Anders Gustafsson wrote: > > This can't be correct? It wasn't. It should be fixed in the final 2.5.52 (not cleanly, but..) Linus ^ permalink raw reply [flat|nested] 25+ messages in thread
[parent not found: <1_0212161441436926@cichlid.com>]
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) [not found] <1_0212161441436926@cichlid.com> @ 2002-12-18 17:56 ` Andrew Burgess 2002-12-19 22:04 ` J.A. Magallon 0 siblings, 1 reply; 25+ messages in thread From: Andrew Burgess @ 2002-12-18 17:56 UTC (permalink / raw) To: linux-kernel >Number of threads Elapsed time User Time System Time >1 53:216 53:220 00:000 >2 29:272 58:180 00:320 >3 27:162 1:21:450 00:540 >4 25:094 1:41:080 01:250 >Elapsed is measured by the parent thread, that is not doing anything >but wait on a pthread_join. User and system times are the sum of >times for all the children threads, that do real work. >The jump from 1->2 threads is fine, the one from 2->4 is ridiculous... >I have my cpus doubled but each one has half the pipelining for floating >point...see the user cpu time increased due to 'worst' processors and >cache pollution on each package. >So, IMHO and for my apps, HyperThreading is just a bad joke. Why do you care about user time? The elapsed time went down by 4 minutes (2->4 threads), if that's a joke I don't get it :-) New Intel Ad: "What are you going to do with your 4 minutes today?" ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HT Benchmarks (was: /proc/cpuinfo and hyperthreading) 2002-12-18 17:56 ` HT Benchmarks (was: /proc/cpuinfo and hyperthreading) Andrew Burgess @ 2002-12-19 22:04 ` J.A. Magallon 0 siblings, 0 replies; 25+ messages in thread From: J.A. Magallon @ 2002-12-19 22:04 UTC (permalink / raw) To: Andrew Burgess; +Cc: linux-kernel On 2002.12.18 Andrew Burgess wrote: >>Number of threads Elapsed time User Time System Time >>1 53:216 53:220 00:000 >>2 29:272 58:180 00:320 >>3 27:162 1:21:450 00:540 >>4 25:094 1:41:080 01:250 > >>Elapsed is measured by the parent thread, that is not doing anything >>but wait on a pthread_join. User and system times are the sum of >>times for all the children threads, that do real work. > >>The jump from 1->2 threads is fine, the one from 2->4 is ridiculous... >>I have my cpus doubled but each one has half the pipelining for floating >>point...see the user cpu time increased due to 'worst' processors and >>cache pollution on each package. > >>So, IMHO and for my apps, HyperThreading is just a bad joke. > >Why do you care about user time? The elapsed time went down by >4 minutes (2->4 threads), if that's a joke I don't get it :-) > >New Intel Ad: "What are you going to do with your 4 minutes today?" > Of course I gain something. The problem is the price you pay for the gain. Prices in Spain: a P4 with 512Kb cache, 210 euros. Equal features (freq, cache), but Xeon version, 320 euros. So you pay 50% more money for 10% more performance. Not too fair... -- J.A. Magallon <jamagallon@able.es> \ Software is like sex: werewolf.able.es \ It's better when it's free Mandrake Linux release 9.1 (Cooker) for i586 Linux 2.4.20-jam2 (gcc 3.2 (Mandrake Linux 9.1 3.2-4mdk)) ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2002-12-19 21:56 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200212160004.gBG04g130091@hera.kernel.org>
2002-12-16 2:34 ` [XFS] add missing file xfs_iomap.c Anders Gustafsson
2002-12-16 3:58 ` /proc/cpuinfo and hyperthreading Scott Robert Ladd
2002-12-16 4:02 ` Robert Love
2002-12-16 4:13 ` Scott Robert Ladd
2002-12-16 6:28 ` Zwane Mwaikambo
2002-12-16 6:35 ` Zwane Mwaikambo
2002-12-16 13:38 ` Scott Robert Ladd
2002-12-16 13:54 ` Brian Jackson
2002-12-16 14:10 ` Richard B. Johnson
2002-12-16 14:56 ` Scott Robert Ladd
2002-12-16 15:11 ` Måns Rullgård
2002-12-16 15:44 ` HT Benchmarks (was: /proc/cpuinfo and hyperthreading) Scott Robert Ladd
2002-12-16 22:38 ` J.A. Magallon
2002-12-16 23:21 ` Scott Robert Ladd
2002-12-16 23:27 ` J.A. Magallon
2002-12-17 11:03 ` Denis Vlasenko
2002-12-17 20:44 ` H. Peter Anvin
2002-12-16 23:50 ` H. Peter Anvin
2002-12-17 19:27 ` Bill Davidsen
2002-12-16 15:52 ` /proc/cpuinfo and hyperthreading Andrew Theurer
2002-12-16 14:08 ` Dave Jones
2002-12-16 14:36 ` Scott Robert Ladd
2002-12-16 4:39 ` [XFS] add missing file xfs_iomap.c Linus Torvalds
[not found] <1_0212161441436926@cichlid.com>
2002-12-18 17:56 ` HT Benchmarks (was: /proc/cpuinfo and hyperthreading) Andrew Burgess
2002-12-19 22:04 ` J.A. Magallon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox