Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Dec 2000 13:10:17 -0800
From:      Julian Elischer <julian@elischer.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        archie@FreeBSD.ORG, smp@FreeBSD.ORG
Subject:   Re: looking for locking advice..
Message-ID:  <3A4271B9.223CD683@elischer.org>
References:  <XFMail.001221104751.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> 
> Julian,
> 
> Just use reader/writer locks for now.  They can use a lockmgr backend until a
> more efficient reader/writer lock is implemented.  As a side note, we should
> probably work up a rw lock API and define some macros that just map to lockmgr
> operations for now but can be optimized later.  As for mutexes: you should be
> using sleep mutexes, not spin mutexes, in which case interrupts aren't disabled
> while the lock is held.  Very, very, very, very few things should be using spin
> mutexes.  Note that when a mutex is released, if any threads are blocked on it,
> then the thread with the highest priority is woken up so it can run.  Also note
> that interrupt threads have a higher priority than all other threads, so yes,
> you can block in an interrupt thread.  However, blocking an interrupt thread
> is something that should still be somewhat minimized due to shared interrupts
> since you will be blocking all interrupt handlers associated with a particular
> interrupt source, thus don't go using tsleep() in an interrupt handler, for
> example. :)

well if I block, and I can't use sleep, what CAN I use?
I need the previously running process/thread to continue 
running because it is holding the lock I want to obtain..
when it finishes and releases the lock I want to be called to 
continue..

> 
> --
> 
> John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
> PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-smp" in the body of the message

-- 
      __--_|\  Julian Elischer
     /       \ julian@elischer.org
    (   OZ    ) World tour 2000
---> X_.---._/  presently in:  Budapest
            v


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A4271B9.223CD683>