Hello Amit,

On 15/05/19(Wed) 09:05, Amit Kulkarni wrote:
> Hi,
> 
> This effort is heavily based on top of Gregor's and Michal's diffs. Tried to 
> incorporate feedback given by different people to them in 2011/2016. Split 
> the new code in a ifdef, so people can do a straight comparison, tried very 
> hard not to delete existing code, just shifted it around. Main motivation was 
> to find if it is possible to do incremental improvements in scheduler. After 
> sometime, have still not understood completely the load avg part, 
> p_priority/p_usrpri calculations, the cpuset code. Looked heavily at 
> Dragonfly (simpler than FreeBSD) and FreeBSD code. As a newcomer, OpenBSD 
> code is way easier to read. Thanks for the detailed explanations given to 
> Michal and also in later diffs posted to tech@, they helped a lot when trying 
> to understand the decisions made by other devs, the commit messages help a 
> little but the explanations help a lot more. This invites discussions and end 
> users learn a lot more in the process.

Why did you decide to change the data structure of the runqueue?  What
problem are you trying to solve?

Regarding your work, if you want to continue in the scheduler area, may
I suggest you start by making the global counters per-spc and export
them to userland via a syscl?  Add a new view to systat(1) to see what's
happening.  Without more visibility it's hard to confirm any theory.

Regarding the choice of deriving quantum from the priority, are you sure
the priorities are correct?  Should we keep priorities?  Or if userland
needs priorities shouldn't we convert quantum into priority and not the
other way around?

Regarding your diff, if you find a thread in RUN state inside the sleep
queue (wakeup_n()), something is really wrong there.

Reply via email to