Date: Thu, 28 Aug 2003 07:37:25 +0000 From: Jens Rehsack <rehsack@liwing.de> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org Subject: Re: HTT on current Message-ID: <3F4DB135.8070700@liwing.de> In-Reply-To: <20030827154738.R2144@gamplex.bde.org> References: <XFMail.20030826141457.jhb@FreeBSD.org> <20030827154738.R2144@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------090409030008060202090107 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Bruce Evans wrote: > On Tue, 26 Aug 2003, John Baldwin wrote: > > >>On 26-Aug-2003 Yamada Ken Takeshi wrote: [...] >>One test is not sufficient. -current is also not the best >>place to test. :) When I first implemented HTT in -current > > The above times seem slow enough to be partly the result of > debugging options in -current. I get buildworld times ranging > from 1401 seconds (2002/09/01) to 2427 seconds (2003/05/06) > on Athlon XP1600 x 1 depending on configuration and tuning (but > never with any expensive debugging options). A Xeon 2.8GHz x 2 > should be a bit faster than an old Athlon. Hm, IFAIK I shouldn't have any debug options enabled, but who knows - didn't have time to check more than kernel and malloc. By the way, attached times shows that using HTT speeds up buildworld by 10 (compare HTT/no-HTT) and this is IMHO a real improvement. Many people buy much more expensive processor to get 10% more speed. >>... I did 16 trials (first one was >>throwaway) of back-to-back buildworlds of the same version >>of -stable using make, make -j2, and make -j4 for the >>following configurations: UP, HTT, HTT with smp_idle_hlt, and >>HTT with pause instructions added to stable and smp_idle_hlt. >>The fastest build time belonged to UP without any -j option. > > All benchmarks using -j are invalid because of a pessimization > in make(1). It sleeps for up to SEL_USEC = 100000 usec after > completion of every job (average 50 msec). With -j2 this increases > !SMP buildworld times of approx. 2000 seconds by approx. 15%. I think > it has a smaller effect for larger -j values and for SMP but haven't > benchmarked it. This is fixed in NetBSD. I think fixing it was more > urgent in NetBSD because NetBSD never changed SEL_USEC from its > 4.4Lite default of 500000. 500000 was large enough to be noticeable > even in 1997 when it was reduced in FreeBSD. That would explain the small slow down from -j8 to -j20. But the results seems to me to be schoolbook like: 4 processes per processor as I learned produces best results. Okay, that's so far. Best regards Jens Jens --------------090409030008060202090107 Content-Type: text/plain; name="times" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="times" 1) HTT + PAT (-j4) - 4736.474u 569.157s 52:19.56 168.9% 4041+2517k 16977+153222io 5761pf+0w - 4737.875u 571.889s 51:07.10 173.1% 4039+2516k 1519+153172io 450pf+0w - 4734.651u 570.591s 51:51.69 170.4% 4039+2519k 12822+153198io 3264pf+0w 2) HTT + PAT (-j20) - 4754.903u 604.875s 51:10.69 174.5% -3981+2500k 3503+153256io 2952pf+0w - 4770.237u 613.092s 50:46.67 176.6% -3948+2501k 3132+153183io 3143pf+0w - 4772.232u 614.315s 50:45.60 176.8% -3942+2501k 2861+153184io 2963pf+0w 3) no-HTT, PAT, -j4 - 2843.366u 431.189s 57:54.23 94.2% 3981+2475k 1549+153171io 1276pf+0w - 2843.791u 430.378s 58:22.65 93.4% 3983+2476k 1293+153166io 450pf+0w - 2842.366u 432.233s 57:42.22 94.5% 3981+2473k 1277+153170io 450pf+0w 4) HTT, PAT, -j8 - 4761.587u 592.745s 50:40.74 176.0% -3986+2509k 1280+153185io 450pf+0w - 4756.575u 593.777s 50:49.25 175.4% -3991+2509k 1277+153198io 450pf+0w - 4766.158u 595.531s 50:36.81 176.5% -3975+2510k 1284+153182io 450pf+0w 5) Single-User-Mode, HTT, PAT, -j4 - 4732.941u 578.183s 51:08.25 173.0% 4035+2515k 1274+153164io 450pf+0w - 4720.249u 573.533s 51:16.59 172.3% 4034+2515k 1276+153165io 450pf+0w - 4737.491u 575.077s 51:07:71 173.1% 4035+2517k 1273+153173io 450pf+0w 5) Single-User-Mode, HTT, PAT, -j8 - 4756.060u 604.684s 50:33.13 176.7% -3978+2509k 1284+153173io 450pf+0w - 4803.037u 604.068s 52:26.76 171.8% -3904+2511k 17043+153163io 5763pf+0w --------------090409030008060202090107 Content-Type: text/plain; name="dmesg.boot" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg.boot" Copyright (c) 1992-2003 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.1-CURRENT #0: Tue Aug 26 13:39:29 GMT 2003 root@statler:/usr/obj/usr/src/sys/STATLER Preloaded elf kernel "/boot/kernel/kernel" at 0xc05b0000. Preloaded elf module "/boot/kernel/acpi.ko" at 0xc05b021c. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (2398.86-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff<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,HTT,TM,PBE> Hyperthreading: 2 logical CPUs real memory = 1072889856 (1023 MB) avail memory = 1036087296 (988 MB) Programming 24 pins in IOAPIC #0 IOAPIC #0 intpin 2 -> irq 0 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): apic id: 0, version: 0x00050014, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00050014, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00178020, at 0xfec00000 Pentium Pro MTRR support enabled VESA: v3.0, 32768k memory, flags:0x1, mode table:0xc00c52cd (c00052cd) VESA: Matrox Graphics Inc. npx0: <math processor> on motherboard npx0: INT 16 interface acpi0: <A M I OEMXSDT > on motherboard pcibios: BIOS version 2.10 Using $PIR table, 14 entries at 0xc00f5410 acpi0: power button is handled as a fixed feature programming model. Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 acpi_cpu0: <CPU> port 0x530-0x537 on acpi0 acpi_cpu1: <CPU> port 0x530-0x537 on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 IOAPIC #0 intpin 16 -> irq 2 IOAPIC #0 intpin 19 -> irq 3 IOAPIC #0 intpin 18 -> irq 5 IOAPIC #0 intpin 23 -> irq 7 IOAPIC #0 intpin 17 -> irq 10 agp0: <Intel 82865 host to AGP bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pcib1: could not get PCI interrupt routing table for \\_SB_.PCI0.P0P1 - AE_NOT_FOUND pci1: <ACPI PCI bus> on pcib1 drm0: <Matrox G550 (AGP)> mem 0xfe000000-0xfe7fffff,0xfe9fc000-0xfe9fffff,0xf4000000-0xf5ffffff irq 2 at device 0.0 on pci1 info: [drm] AGP at 0xf8000000 64MB info: [drm] Initialized mga 3.1.0 20021029 on minor 0 uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xef00-0xef1f irq 2 at device 29.0 on pci0 usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/11.10, addr 2, iclass 3/1 ums0: 3 buttons and Z dir. uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xef20-0xef3f irq 3 at device 29.1 on pci0 usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xef40-0xef5f irq 5 at device 29.2 on pci0 usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xef80-0xef9f irq 2 at device 29.3 on pci0 usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: <EHCI (generic) USB 2.0 controller> mem 0xfebfbc00-0xfebfbfff irq 7 at device 29.7 on pci0 ehci_pci_attach: companion usb0 ehci_pci_attach: companion usb1 ehci_pci_attach: companion usb2 ehci_pci_attach: companion usb3 usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: <EHCI (generic) USB 2.0 controller> on ehci0 usb4: USB revision 2.0 uhub4: (0x8086) EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci2: <ACPI PCI bus> on pcib2 IOAPIC #0 intpin 20 -> irq 11 IOAPIC #0 intpin 22 -> irq 16 fwohci0: <VIA VT6306> port 0xdc00-0xdc7f mem 0xfeaff800-0xfeafffff irq 11 at device 3.0 on pci2 fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channel is 4. fwohci0: EUI64 00:e0:18:00:00:20:ae:b5 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) pci2: <network, ethernet> at device 5.0 (no driver attached) xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xd480-0xd4ff mem 0xfeaff400-0xfeaff47f irq 16 at device 10.0 on pci2 xl0: Ethernet address: 00:01:02:9b:c3:c3 miibus0: <MII bus> on xl0 xlphy0: <3c905C 10/100 internal PHY> on miibus0 xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcm0: <Creative EMU10K1> port 0xdf40-0xdf5f irq 11 at device 12.0 on pci2 pcm0: <SigmaTel STAC9721/23 AC97 Codec> isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH5 UDMA100 controller> port 0xfc00-0xfc0f,0-0x3,0-0x7,0-0x3,0-0x7 irq 5 at device 31.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 ichsmb0: <SMBus controller> port 0x400-0x41f irq 10 at device 31.3 on pci0 acpi_button0: <Power Button> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 speaker0 port 0x61 on acpi0 pmtimer0 on isa0 orm0: <Option ROMs> at iomem 0xc9000-0xc97ff,0xc0000-0xc8fff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 APIC_IO: Testing 8254 interrupt delivery APIC_IO: routing 8254 via IOAPIC #0 intpin 2 Timecounters tick every 10.000 msec IP Filter: v3.4.31 initialized. Default = block all, Logging = enabled acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0% ad0: 78533MB <IC35L090AVV207-0> [159560/16/63] at ata0-master UDMA100 ad1: 78533MB <IC35L090AVV207-0> [159560/16/63] at ata0-slave UDMA100 ad2: DMA limited to UDMA33, non-ATA66 cable or device ad2: 58644MB <IBM-DTLA-307060> [119150/16/63] at ata1-master UDMA33 ums0: at uhub0 port 2 (addr 2) disconnected ums0: detached ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/11.10, addr 2, iclass 3/1 ums0: 3 buttons and Z dir. SMP: AP CPU #1 Launched! Mounting root from ufs:/dev/ad0s1a IP Filter: already initialized IP Filter: already initialized --------------090409030008060202090107--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F4DB135.8070700>