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>