On 18/03/16(Fri) 13:04, Theo de Raadt wrote:
> > So I'm skeptical about this BFS scheduler.  Don't get me wrong; I do
> > think the scheduler needs attention.  But I'm not sure a scheduler
> > designed for interactive desktop use is the best option for OpenBSD.
> > I'm willing to be proven wrong.  But that means we need careful
> > benchmarking on a wide variety of workloads and hardware.
> 
> I don't think this scheduler is making things better because of
> it's scheduling behaviour.
> 
> I think the scheduling choices it makes are hiding a poor-performing
> artifact we have elsewhere.

I think the same thing.  After reading your diff carefully I think that
it might be nice to split it in pieces to be able to see the effect of
each of them.

I saw the following interesting items, but there might be even more:

 1. Each process gets the same deadline.  So you basically don't have
    priorities or did I misunderstood something? 

 2. In any case, the cost of the migration of a process calculated in
    sched_proc_to_cpu_cost() and used via sched_choosecpu() no longer
    take the priority of a process in account.  But this might just be
    an side-effect of 1.

 3. You changed the semantic of roundrobin().  With your diff there's no
    context switch every 100ms.  There's now a context switch every time
    a process has been has been "curproc" for ``rrticks'' long.

 4. You are no longer making a difference between ``p_usrpri'' and
    ``p_priority'' there's only priority: ``p_deadline''.

 4. You use only one runqueue.

 5. You're using deadlines which means you don't have all these
    complicated, different and possibly buggy logics to recalculate the
    priority of a process.


Please correct me if I said anything wrong.

Reply via email to