cvs commit: src/sys/kern kern_intr.c subr_sleepqueue.c src/sys/geom geom_io.c src/sys/sys proc.h

Pawel Jakub Dawidek pjd at FreeBSD.org
Thu Sep 15 13:53:27 PDT 2005


On Thu, Sep 15, 2005 at 07:05:37PM +0000, John Baldwin wrote:
+> jhb         2005-09-15 19:05:37 UTC
+> 
+>   FreeBSD src repository
+> 
+>   Modified files:
+>     sys/kern             kern_intr.c subr_sleepqueue.c 
+>     sys/geom             geom_io.c 
+>     sys/sys              proc.h 
+>   Log:
+>   - Add a new simple facility for marking the current thread as being in a
+>     state where sleeping on a sleep queue is not allowed.  The facility
+>     doesn't support recursion but uses a simple private per-thread flag
+>     (TDP_NOSLEEPING).  The sleepq_add() function will panic if the flag is
+>     set and INVARIANTS is enabled.
+>   - Use this new facility to replace the g_xup and g_xdown mutexes that were
+>     (ab)used to achieve similar behavior.

So is this still possible to use mutexes in I/O paths (g_up/g_down threads)
or it will panic immediatelly?

The policy for now was: using mutexes in a sane way is possible.
The question is: did we went from a warning when WITNESS is enabled to
a panic with INVARIANTS only?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-all/attachments/20050915/cd1ac49b/attachment.bin


More information about the cvs-all mailing list