From owner-freebsd-current Wed Oct 2 19: 1:30 2002 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 2013B37B401; Wed, 2 Oct 2002 19:01:29 -0700 (PDT) Received: from hun.org (hun.org [216.190.27.122]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBB7B43E6A; Wed, 2 Oct 2002 19:01:28 -0700 (PDT) (envelope-from attila@hun.org) Received: by hun.org (Postfix, from userid 1001) id 234F057AE3; Thu, 3 Oct 2002 02:01:28 +0000 (GMT) Date: Thu, 03 Oct 2002 02:01:28 +0000 (GMT) Message-Id: <20021003020128.Zidp90333@hun.org> From: attila! X-Mailer: AttilaMail with XEmacs & Postfix on FreeBSD 5.0-CURRENT X-Ballistic: N 37.218497 W 113.614979 X-Address: 31 N 700 E, St George UT 84770-3028 X-No-Archive: yes To: Stefan Farfeleder Cc: current@FreeBSD.ORG, Poul-Henning Kamp Subject: make -j N [was: Re: Junior Kernel Hacker page updated...] Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; name="text" Content-Transfer-Encoding: 7bit Content-Disposition: inline Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I use make -j 4 consistently (daily at least) building both the kernel and world on a Tyan 2642 1.2G SMP. j -4 drops buildworld in 29-31 minutes vs 38-42 minutes with no -j option and I have never seen the 'could sleep' message. When I did a recovery with a generic kernel, the buildworld time was somewhere above 50 in single CPU mode. I might suggest that you need to cross a speed threshold before the -j option makes a difference. I tried a -j 8 a couple times, but the gain was less than 5%. I might add, that in addition to a Tyan 2642 1.2G SMP, I do have 512M DDR 266 memory and dual SCSI III 160 MB/sec 10,000 RPM 9G IBM 4ms access drives with swap on both drives --not used while compiling both kernel and world simultaneously-- both at j -4. Today's simultaneous build went down in 8 minutes for buildkernel and 39 minutes for buildworld. GEOM next.... Sent: Wed, 2 Oct 2002 23:40:28 +0200 + On Sat, Sep 14, 2002 at 12:17:53PM +0200, Poul-Henning Kamp wrote: + > + > This is just to note that I have updated the JKH page with a lot of new + > stuff, so if your coding-pencil itches: + > + > http://people.freebsd.org/~phk/TODO/ + + |Make -j improvement + | + |make(1) with -j option uses a select loop to wait for events, and every + |100msec it drops out to look for processes exited etc. A pure "make + |buildworld" on a single-CPU machine is up to 25% faster that the best + |"make -j N buildworld" time on the same hardware. Changing to timeout + |to be 10msec improves things about 10%. + |I think that make(1) should use kqueue(2) instead, since that would + |eliminate the need for timeouts. + + Ok, here's what I came up with. However, with the patch applied, each + 'make buildworld' on a SMP machine throws tons of + + /freebsd/current/src/sys/vm/uma_core.c:1307: could sleep with "filedesc structure" locked from /freebsd/current/src/sys/kern/kern_event.c:959 + + at me and freezes badly at some point (no breaking into ddb possible). + This is totally repeatable. Is anybody able to reproduce (and maybe + fix) this? + + Regards, + Stefan Farfeleder To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message