cvs commit: src/sys/kern kern_exit.c

David Xu davidxu at freebsd.org
Tue Jun 22 18:47:12 PDT 2004


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.

David Xu




More information about the cvs-all mailing list