cvs commit: src/sys/kern kern_fork.c sched_4bsd.c sched_ule.c

Jeff Roberson jroberson at chesapeake.net
Wed Oct 29 09:55:00 PST 2003


On Wed, 29 Oct 2003, Bruce Evans wrote:

> bde         2003/10/29 06:40:41 PST
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/kern             kern_fork.c sched_4bsd.c sched_ule.c
>   Log:
>   Removed sched_nest variable in sched_switch().  Context switches always
>   begin with sched_lock held but not recursed, so this variable was
>   always 0.

Thanks.  I still intend to comment on our earlier exchange on this.  Mail
backlog and all..

Cheers,
Jeff

>
>   Removed fixup of sched_lock.mtx_recurse after context switches in
>   sched_switch().  Context switches always end with this variable in the
>   same state that it began in, so there is no need to fix it up.  Only
>   sched_lock.mtx_lock really needs a fixup.
>
>   Replaced fixup of sched_lock.mtx_recurse in fork_exit() by an assertion
>   that sched_lock is owned and not recursed after it is fixed up.  This
>   assertion much match the one in mi_switch(), and if sched_lock were
>   recursed then a non-null fixup of sched_lock.mtx_recurse would probably
>   be needed again, unlike in sched_switch(), since fork_exit() doesn't
>   return to its caller in the normal way.
>
>   Revision  Changes    Path
>   1.207     +1 -1      src/sys/kern/kern_fork.c
>   1.26      +0 -3      src/sys/kern/sched_4bsd.c
>   1.69      +0 -3      src/sys/kern/sched_ule.c
>



More information about the cvs-src mailing list