From owner-freebsd-current@FreeBSD.ORG Thu Aug 28 00:37:33 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B71C16A4BF for ; Thu, 28 Aug 2003 00:37:33 -0700 (PDT) Received: from mail.liwing.de (mail.liwing.de [213.70.188.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 892C143FAF for ; Thu, 28 Aug 2003 00:37:31 -0700 (PDT) (envelope-from rehsack@liwing.de) Received: (qmail 14630 invoked from network); 28 Aug 2003 07:37:26 -0000 Received: from stingray.liwing.de (HELO liwing.de) ([213.70.188.164]) (envelope-sender ) by mail.liwing.de (qmail-ldap-1.03) with SMTP for ; 28 Aug 2003 07:37:26 -0000 Message-ID: <3F4DB135.8070700@liwing.de> Date: Thu, 28 Aug 2003 07:37:25 +0000 From: Jens Rehsack User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.4) Gecko/20030821 X-Accept-Language: de-de, de, en-us, en MIME-Version: 1.0 To: Bruce Evans References: <20030827154738.R2144@gamplex.bde.org> In-Reply-To: <20030827154738.R2144@gamplex.bde.org> Content-Type: multipart/mixed; boundary="------------090409030008060202090107" cc: current@freebsd.org Subject: Re: HTT on current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Aug 2003 07:37:33 -0000 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 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: on motherboard npx0: INT 16 interface acpi0: 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: port 0x530-0x537 on acpi0 acpi_cpu1: port 0x530-0x537 on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: 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: mem 0xf8000000-0xfbffffff at device 0.0 on pci0 pcib1: at device 1.0 on pci0 pcib1: could not get PCI interrupt routing table for \\_SB_.PCI0.P0P1 - AE_NOT_FOUND pci1: on pcib1 drm0: 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: port 0xef00-0xef1f irq 2 at device 29.0 on pci0 usb0: 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: port 0xef20-0xef3f irq 3 at device 29.1 on pci0 usb1: 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: port 0xef40-0xef5f irq 5 at device 29.2 on pci0 usb2: 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: port 0xef80-0xef9f irq 2 at device 29.3 on pci0 usb3: 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: 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: 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: at device 30.0 on pci0 pci2: on pcib2 IOAPIC #0 intpin 20 -> irq 11 IOAPIC #0 intpin 22 -> irq 16 fwohci0: 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: 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: 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: on xl0 xlphy0: <3c905C 10/100 internal PHY> on miibus0 xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pcm0: port 0xdf40-0xdf5f irq 11 at device 12.0 on pci2 pcm0: isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: 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: port 0x400-0x41f irq 10 at device 31.3 on pci0 acpi_button0: on acpi0 atkbdc0: port 0x64,0x60 irq 1 on acpi0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 speaker0 port 0x61 on acpi0 pmtimer0 on isa0 orm0: