On Wed, 2002-10-02 at 14:40, Stefan Farfeleder wrote: > 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?
This question is not relevant to the problem at hand, but... wouldn't it be more portable to catch SIGCHLD (and continue using select(2)) than to use kqueue(2)? -Peter- To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message