On Fri, 2 Nov 2012, Eitan Adler wrote:

On 2 November 2012 14:26, Jeff Roberson <jrober...@jroberson.net> wrote:
I have a small patch to the ULE scheduler that makes a fairly large change
to the way timeshare threads are handled.

http://people.freebsd.org/~jeff/schedslice.diff

Previously ULE used a fixed slice size for all timeshare threads.  Now it
scales the slice size down based on load.  This should reduce latency for
timeshare threads as load increases.  It is important to note that this does
not impact interactive threads.  But when a thread transitions to
interactive from timeshare it should see some improvement.  This happens
when something like Xorg chews up a lot of CPU.

If anyone has perf tests they'd like to run please report back.  I have done
a handful of validation.

does it make sense to make these sysctls?

+#define        SCHED_SLICE_DEFAULT_DIVISOR     10      /* 100 ms. */
+#define        SCHED_SLICE_MIN_DIVISOR         4       /* DEFAULT/MIN = 25 ms. 
*/


DEFAULT_DIVISOR is indirectly through the sysctls that modify the slice. The min divisor could be. I will consider adding that.

Thanks,
Jeff


--
Eitan Adler

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to