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
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
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
    [EMAIL PROTECTED]:/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
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to