Jake Burkholder wrote:
>
> > Why does the mutex not link blocked processes though the
> > sleep queue linked list entry? Why does it use the run queue entry?
>
> Because in some cases its necessary for a process to acquire
> mutexes while its on the sleep queue. If they used the same
> linkage the queues would get corrupted.
can this be fixed?
>
> > In KSEs the sleep queue and run queue enties go into different
> > sub structures and ahve different types so this breaks...
> > do I need to do something sleazy or can I just link them together using the
> > equivalemt of the p_slpq entry?
>
> It seems to me that whatever gets placed on the run queues
> should also be what goes on the mutex queues.
it would at first glance, but it is not the
case when you think about it..
threads sleep/block, but the process is still on the run queue
If you put all threads in the run queue, then when one runs you need to remove
all the others from the queue and then add them again if they didn't get run at
that
quanta..
better to add the 'kse' onto the queue once, and hang all it's runnable threads
off
it..
>
> >
> > --
> > +------------------------------------+ ______ _ __
> > | __--_|\ Julian Elischer | \ U \/ / hard at work in
> > | / \ [EMAIL PROTECTED] +------>x USA \ a very strange
> > | ( OZ ) \___ ___ | country !
> > +- X_.---._/ presently in San Francisco \_/ \\
> > v
> >
> > To Unsubscribe: send mail to [EMAIL PROTECTED]
> > with "unsubscribe freebsd-current" in the body of the message
--
+------------------------------------+ ______ _ __
| __--_|\ Julian Elischer | \ U \/ / hard at work in
| / \ [EMAIL PROTECTED] +------>x USA \ a very strange
| ( OZ ) \___ ___ | country !
+- X_.---._/ presently in San Francisco \_/ \\
v
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message