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