Is kern.sched.preempt_thresh=0 a sensible default?

Rodney W. Grimes freebsd-rwg at pdx.rh.CN85.dnsmgr.net
Sat Jun 9 17:16:16 UTC 2018


> On Fri, 8 Jun 2018 17:18:43 +0300
> Andriy Gapon <avg at FreeBSD.org> wrote:
> 
> > On 08/06/2018 15:27, Gary Jennejohn wrote:
> > > On Thu, 7 Jun 2018 20:14:10 +0300
> > > Andriy Gapon <avg at FreeBSD.org> wrote:
> > >   
> > >> On 03/05/2018 12:41, Andriy Gapon wrote:  
> > >>> I think that we need preemption policies that might not be expressible as one or
> > >>> two numbers.  A policy could be something like this:
> > >>> - interrupt threads can preempt only threads from "lower" classes: real-time,
> > >>> kernel, timeshare, idle;
> > >>> - interrupt threads cannot preempt other interrupt threads
> > >>> - real-time threads can preempt other real-time threads and threads from "lower"
> > >>> classes: kernel, timeshare, idle
> > >>> - kernel threads can preempt only threads from lower classes: timeshare, idle
> > >>> - interactive timeshare threads can only preempt batch and idle threads
> > >>> - batch threads can only preempt idle threads    
> > >>
> > >>
> > >> Here is a sketch of the idea: https://reviews.freebsd.org/D15693
> > >>  
> > > 
> > > What about SCHED_4BSD?  Or is this just an example and you chose
> > > SCHED_ULE for it?  
> > 
> > I haven't looked at SCHED_4BSD code at all.
> > 
> 
> I hope you will eventually because that's what I use.  I find its
> scheduling of interactive processes much better than ULE.

+1

Bruce Evans may have some info and/or changes here too.


-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the freebsd-current mailing list