ULE vs. 4BSD in RELENG_7

Jeff Roberson jroberson at chesapeake.net
Wed Oct 24 13:33:27 PDT 2007

On Wed, 24 Oct 2007, Josh Carroll wrote:

>> Your tests with ffmpeg threads vs processes probably is triggering more
>> context switches due to lock contention in the kernel in the threads case.
>> This is also likely the problem with some super-smack tests.  On each
>> context switch 4BSD has an opportunity to perfectly balance the CPUs.  ULE
>> does not because it's too costly and hinders other workloads.
> Thanks for the response Jeff, I appreciate it. Is this something that
> the scheduler can recognize and auto-tune itself for? E.g. have it
> recognize the scenario differences and do what 4BSD is doing for cases
> such as ffmpeg and what ULE otherwise does in other circumstances? I
> guess this would not come without its own overhead, which might defeat
> the purpose anyway.

The problem is the two models are drastically incompatible.  Rather than 
use a shared queue for some threads I'm just going to have to continue to 
refine the load balancing algorithm.  The higher idle time with ULE is a 
symptom of assinging work to the wrong place.  I think I have a good idea 
of how to improve that cpu selection.

>> I don't doubt that we can improve things further.  It will just have to
>> wait for another few weeks before I'm able to do much about it.
> Thanks again, I do appreciate your work and help. So you're
> anticipating nothing can be done at all, or did you mean at the moment
> until you get your equipment back and get settled? Or is this
> something that would need to be looked at in -current rather than

I'm confident that we can improve things.  It will probably not make the 
cut for 7.0 since it will be too disruptive.  I'm sure it can be 
backported before 7.1 when ULE is likely to become the default.

I hope that we can continue to work together to verify any fixes I may 
come up with.


> Regards,
> Josh
> _______________________________________________
> freebsd-performance at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe at freebsd.org"

More information about the freebsd-performance mailing list