On Wed, 2003-07-09 at 06:49, Guillaume Chazarain wrote: > 08/07/03 23:13:22, Davide Libenzi wrote: > > >On Tue, 8 Jul 2003, Guillaume Chazarain wrote: > > > >> Hello, > >> > >> Currently the interactive points a process can have are in a [-5, 5] range, > >> that is, 25% of the [0, 39] range. Two reasons are mentionned: > >> > >> 1) nice +19 interactive tasks do not preempt nice 0 CPU hogs. > >> 2) nice -20 CPU hogs do not get preempted by nice 0 tasks. > >> > >> But, using 50% of the range, instead of 25% the interactivity points are better > >> spread and both rules are still respected. Having a larger range for > >> interactivity points it's easier to choose between two interactive tasks. > >> > >> So, why not changing PRIO_BONUS_RATIO to 50 instead of 25? > >> Actually it should be in the [45, 49] range to maximize the bonus points > >> range and satisfy both rules due to integer arithmetic. > > > >I believe these are the bits that broke the scheduler, that was working > >fine during the very first shots in 2.5. IIRC Ingo was hit by ppl > >complains about those 'nice' rules and he had to fix it. It'd be > >interesting bring back a more generous interactive bonus and see how the > >scheduler behave. > > Thanks for the info. > Before being 25% the interactivity range was 70%, thus breaking the rules. So > I am now more convinced that a 50% range could be a good thing. > Just a suggestion, why instead of changing the code you don't try the attached patch? At least you don't have to recompile just to change a few define's. Against 2.5.73, but applies in 2.5.74. Just the "long sleep_time = jiffies - p->last_run;" isn't there. I remember that I saw someone's patch nearly identical to this ( I think it was Robert Love) but I don't remember the url.