cvs commit: src/sys/i386/i386 pmap.c src/sys/kern sched_4bsd.c sched_ule.c src/sys/sys proc.h sched.h

Julian Elischer julian at
Mon Sep 13 10:48:20 PDT 2004

John Baldwin wrote:

>On Saturday 11 September 2004 06:07 am, Scott Long wrote:
>>scottl      2004-09-11 10:07:22 UTC
>>  FreeBSD src repository
>>  Modified files:
>>    sys/i386/i386        pmap.c
>>    sys/kern             sched_4bsd.c sched_ule.c
>>    sys/sys              proc.h sched.h
>>  Log:
>>  Revert the previous round of changes to td_pinned.  The scheduler isn't
>>  fully initialed when the pmap layer tries to call sched_pini() early in
>>the boot and results in an quick panic.  Use ke_pinned instead as was


>>originally done with Tor's patch.
>>  Approved by: julian
>Thanks, I think td_pinned belongs in struct thread just as td_critnest.  Not 
>all parts of the scheduler purely live in sched_foo.c.  Arguably things sleep 
>queues are also part of the scheduler since they deal with queues of threads 
>and manipulating thread state machines, so I think that while some things 
>should be private to sched_foo, not everything has to be completely private.
Actually I think that the pinned stuff should move to either proc.h or 
to smp.h
sleep queues for example are not private, and do have some connection as 
you said to the scheduler,
but are not in sched.h. It is really part of the world in which a 
scheduler needs to exist rather
than part of the sceduler interface.

More information about the cvs-src mailing list