> >  In any case, it appears that my patch is a no-op, at least for the
> >problem I was trying to solve. This has me confused, however, because at
> >one point the problem was mitigated with it. The patch has gone through
> >several iterations, however, and it could be that it was made to the top
> >of the loop, before any of the checks, in a previous version. Hmmm.
> 
> The patch should work fine.  IIRC, it yields voluntarily so that other
> things can run.  I committed a similar hack for uiomove().  It was

   It patches the bottom of the loop, which is only reached if the vnode
is dirty. So it will only help if there are thousands of dirty vnodes.
While that condition can certainly happen, it isn't the case that I'm
particularly interested in.

> CPUs, everything except interrupts has to wait for these syscalls.  Now
> the main problem is to figure out why PREEMPTION doesn't work.  I'm
> not working on this directly since I'm running ~5.2 where nearly-full
> kernel preemption doesn't work due to Giant locking.

   I don't understand how PREEMPTION is supposed to work (I mean
to any significant detail), so I can't really comment on that.

-DG

David G. Lawrence
President
Download Technologies, Inc. - http://www.downloadtech.com - (866) 399 8500
The FreeBSD Project - http://www.freebsd.org
Pave the road of life with opportunities.
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to