Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Sep 2001 11:35:44 -0400
From:      Gerald A.Speak <gaspeak@va.prestige.net>
To:        clefevre@citeweb.net, Erik Trulsson <ertr1013@student.uu.se>
Cc:        stable@FreeBSD.ORG
Subject:   Re: make -j4 vs -j8... 4 works, but 8 does not
Message-ID:  <20010920153546.8D69937B411@hub.freebsd.org>
In-Reply-To: <200109170009.f8H09Y921584@gits.dyndns.org>
References:  <200109170009.f8H09Y921584@gits.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 16 September 2001 08:09 pm, Cyrille Lefevre wrote:
> Erik Trulsson wrote:
> > On Sat, Sep 15, 2001 at 06:06:10PM -0400, Garance A Drosihn wrote:
> > > [aside on those multiple builds that I did:  It was interesting that
> > > even though it was on a dual-processor system, there was not much of
> > > a speed improvement (on 4.3-stable) when going from -j4 to -j10.  Big
> > > improvement going from -j1 to -j4, but after that it didn't help much]
> >
> > That sounds exactly like what I would expect. More than 2 (or maybe 3)
> > jobs per CPU is normally not going to make things go faster but might
> > actually slow it down.
>
> I'm not right w/ you. let's try :
>
> # setup a reusable environment
> cd /sys/compile/MYKERNEL
> make depend
> make
> # run the jobs
> for i in 1 2 4 8; do
> 	(date;touch opt_global.h;time make -j$i all;date) >| .j$i 2>&1
> done
>
> results are (on my old P200 processor) :
>
> j1	12:36
> j2	12:46
> j4	11:36
> j8	11:21
>
> so, for a 12 min job, you could win 1 min using -j4, which may gives
> you 1 hour for a 12 hours job (such as buildworld :). ok, it's not so
> many, but that may help a lot. for instace, I currently use -j4 since
> -j8 is too CPU and memory intensive (the machine slow down significally).
>
> PS : I'm using SCSI disks. using IDE disks probably gives you different
> results. I/O are very differents between the two.
>
> Cyrille.


I had some time to spend and came up with the following results for doing 
make build world.  Before each build I made sure that /usr/obj/ was empty.

time make buildworld...
1800.325u 818.652s 44:35.38 97.8%       1322+1456k 9130+5803io 555pf+0w

time make -j 2 buildworld ...
1852.919u 957.381s 44:09.71 106.0%      1305+1471k 9231+5677io 555pf+0w

time make -j 4 buildworld ...
1881.497u 965.330s 36:17.07 130.7%      1314+1472k 9307+6329io 626pf+0w

time make -j 6 buildworld ...
1884.092u 973.077s 35:25.23 134.4%      1314+1473k 9246+6096io 555pf+0w

time make -j 8 buildworld ...
1879.997u 977.772x 35:27.64 134.3%      1310+1469k 9240+6310io 555pf+0w

As you can see there was only a matter of a couple minutes improvement when 
using -j 8 instead of -j 4.

The build machine is a Dual PIII 1000, with 1GB RAM and SCSI Ultra160 Drive 
(too bad FreeBSD only runs the Adaptec 29160N at 80MHz.
dmesg below for those interested.

Copyright (c) 1992-2001 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 4.4-STABLE #0: Thu Sep 20 10:17:57 EDT 2001
    gaspeak@sampson.gaspeak-p-va.prestige.net:/usr/obj/usr/src/sys/SAMPSON
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (1004.50-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x68a  Stepping = 10
  
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 1073725440 (1048560K bytes)
config> q
avail memory = 1041256448 (1016852K bytes)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  3, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00178011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0464000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc046409c.
Preloaded elf module "splash_bmp.ko" at 0xc04640ec.
Preloaded elf module "vesa.ko" at 0xc0464190.
Preloaded splash_image_data "/boot/splash.bmp" at 0xc046422c.
Preloaded elf module "vn.ko" at 0xc046427c.
Preloaded elf module "snd_es137x.ko" at 0xc0464318.
Preloaded elf module "snd_pcm.ko" at 0xc04643bc.
Preloaded elf module "usb.ko" at 0xc046445c.
Preloaded elf module "ugen.ko" at 0xc04644f8.
Preloaded elf module "uhid.ko" at 0xc0464594.
Preloaded elf module "ulpt.ko" at 0xc0464630.
Preloaded elf module "ums.ko" at 0xc04646cc.
Preloaded elf module "umass.ko" at 0xc0464768.
Preloaded elf module "uscanner.ko" at 0xc0464808.
Preloaded elf module "agp.ko" at 0xc04648a8.
Preloaded elf module "vpo.ko" at 0xc0464944.
VESA: v3.0, 16384k memory, flags:0x1, mode table:0xc0338437 (1000117)
VESA: 3dfx Interactive, Inc.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 7 entries at 0xc00f12d0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
IOAPIC #0 intpin 18 -> irq 2
IOAPIC #0 intpin 17 -> irq 5
IOAPIC #0 intpin 16 -> irq 9
IOAPIC #0 intpin 19 -> irq 10
pci0: <PCI bus> on pcib0
agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xf8000000-0xfbffffff 
at device 0.0 on pci0
pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on 
pci0
pci1: <PCI bus> on pcib2
pci1: <3Dfx Voodoo 3 graphics accelerator> at 0.0 irq 9
isab0: <VIA 82C686 PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0xb800-0xb80f at device 4.1 on 
pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 2 at device 4.2 on 
pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1: Microsoft product 0x001c, class 9/0, rev 1.10/5.00, addr 2
uhub1: 3 ports with 2 removable, bus powered
uhci1: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 2 at device 4.3 on 
pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x11d1, dev=0x01f7) at 10.0 irq 2
pcm0: <AudioPCI ES1370> port 0xa800-0xa83f irq 5 at device 11.0 on pci0
de0: <Digital 21140A Fast Ethernet> port 0xa400-0xa47f mem 
0xf1000000-0xf100007f irq 9 at device 12.0 on pci0
de0: 21140A [10-100Mb/s] pass 2.2
de0: address 00:40:05:a2:d8:ea
ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xa000-0xa0ff mem 
0xf0800000-0xf0800fff irq 10 at device 13.0 on pci0
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/255 SCBs
pcib1: <Host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib1
orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse Explorer, device ID 4
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: cannot reserve I/O port range
ppc1: <ECP parallel printer port> at port 0x3bc-0x3bf,0x7bc-0x7be irq 7 drq 3 
on isa0
ppc1: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc1: FIFO with 16/16/8 bytes threshold
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
unknown: <PNP0501> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0700> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown: <PNP0303> can't assign resources
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
SMP: AP CPU #1 Launched!
ad0: 13042MB <IBM-DPTA-371360> [26500/16/63] at ata0-master UDMA66
acd0: DVD-ROM <CREATIVEDVD5241E> at ata1-master using PIO4
Waiting 15 seconds for SCSI devices to settle
de0: enabling Full Duplex 100baseTX port
Mounting root from ufs:/dev/da0s2a
da0 at ahc0 bus 0 target 6 lun 0
da0: <IBM DDYS-T36950N S96H> Fixed Direct Access SCSI-3 device
da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing 
Enabled
da0: 35003MB (71687340 512 byte sectors: 255H 63S/T 4462C)
cd0 at ahc0 bus 0 target 4 lun 0
cd0: <YAMAHA CRW8424S 1.0j> Removable CD-ROM SCSI-2 device
cd0: 20.000MB/s transfers (20.000MHz, offset 15)
cd0: cd present [1086024 x 512 byte records]

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010920153546.8D69937B411>