Re: a serious error in sched_ule.c?

From: Robert Watson <rwatson_at_freebsd.org>
Date: Tue, 9 Mar 2004 11:41:12 -0500 (EST)
On 9 Mar 2004, Bin Ren wrote:

> Hi, all:
> 
> I've been reading sched_ule.c and seem to find a serious error:
> 
> in 'sched_slice()':
> 
>          * Rationale:
>          * KSEs in interactive ksegs get the minimum slice so that we
>          * quickly notice if it abuses its advantage.
> 
> Then, there is:
> 
>         if (!SCHED_INTERACTIVE(kg)) {
>                 .....
>                 .....
>         } else
>                 ke->ke_slice = SCHED_SLICE_INTERACTIVE;
> 
> Then, at the beginning of the file, there is:
> 
> #define SCHED_SLICE_INTERACTIVE         (slice_max)
> 
> 
> (slice_max) for interactive KSEs???? Either this is a serious mistake or 
> I'm seriously missing sth here.

I believe this is a synchronization error in the comment and the code. 
The code was changed to provide a maximum slice to interactive
applications because non-CPU intensive X11 applications will be marked as
interactive, but redraws get interrupted in a short slice.  When the
change went in to increase the time slice I saw an observable improvement
in the redraws of X11 apps under load.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert_at_fledge.watson.org      Senior Research Scientist, McAfee Research
Received on Tue Mar 09 2004 - 07:42:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:46 UTC