cvs commit: src/sys/kern kern_exit.c

Julian Elischer julian at elischer.org
Tue Jun 22 18:58:32 PDT 2004



On Wed, 23 Jun 2004, David Xu wrote:

> Bruce Evans wrote:
>  >bde         2004-06-21 14:49:50 UTC
>  >
>  >  FreeBSD src repository
>  >
>  >  Modified files:
>  >    sys/kern             kern_exit.c
>  >  Log:
>  >  (1) Removed the bogus condition "p->p_pid != 1" on calling >sched_exit()
>  >      from exit1().  sched_exit() must be called unconditionally from 
>   >exit1().
>  >      It was called almost unconditionally because the only exits on 
>  >system
>  >      shutdown if at all.
>  >
>  >  (2) Removed the comment that presumed to know what sched_exit() does.
>  >      sched_exit() does different things for the ULE case.  The call 
>  >became
>  >      essential when it started doing load average stuff, but its caller
>  >      should not know that.
> 
> But this change loses a semantic, in most time, init is waitting there
> to recycle runnaway processes, those process were not created by init,
> if you call sched_exit for init unconditionally, the runnaway process's
> cpu usage are all merged into init, this is unfair for init, is there
> any benifit to lower init's priority under load to slow down recycling
> speed ? I don't think so. I think scheduler's sched_exit should be
> fixed at same time to keep this semantic.

exaclty.. 

Actually this doesn't CHANGE anything because "p->p_pid != 1
was ALWAYS TRUE.

you are however correct.. sched_exit should not pass cpu-usage to init.
That is a differnt change however and I will include it in my nsched
patch I am building in p4.

(have you been able to look at p4 yet?)

julian

> 
> David Xu
> 
> 
> 



More information about the cvs-src mailing list