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

Reply via email to