Hello,
=20
When a thread cannot get a mutex (default mutex) and needs to be
blocked, is it really put to sleep? From looking at the code it appears
that it is inhibited (TD_SET_LOCK) but isn't really put to sleep.
=20
1. Why isn't it put to sleep - why can't it be treated the same?
2. The eventual question I am trying to answer is the difference
between setrunnable() and setrunqueue() - this one simply finds a slot
in the ksegrp and a runq to add the KSE/td. But setrunnable() also
checks to see if the process is in memory (PS_INMEM) before calling
sched_wakeup which eventually calls setrunqueue()? Why doesn't
setrunqueue have to worry about the possibility that the process may
have been swapped out while it was waiting to become runnable?
=20
Thanks
Ravi
=20
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"