Re: duplicate read/write locks in net/pfil.c and netinet/ip_fw2.c

From: Luigi Rizzo (rizzo_at_icir.org)
Date: 08/18/05

  • Next message: John Baldwin: "Re: Special schedulers, one CPU only kernel, one only userland"
    Date: Thu, 18 Aug 2005 07:31:24 -0700
    To: Stephan Uphoff <ups@tree.com>
    
    

    On Thu, Aug 18, 2005 at 10:18:33AM -0400, Stephan Uphoff wrote:
    > On Thu, 2005-08-18 at 03:57, Luigi Rizzo wrote:
    ...
    > > In fact i don't understand why you consider spinning and sleeping
    > > on a mutex two different things.
    >
    > The major difference between sleeping (cv_wait,msleep,..) and blocking
    > on a mutex is priority inheritance.
    > If you need to be able to use (non-spin) mutexes while holding a
    > [R|W]LOCK and use a [R|W]LOCK while holding a (non-spin) mutex then you
    > need to implement priority inheritance for [R|W]LOCKs.

    is that required (in FreeBSD, i mean) for algorithmic
    correctness or just for performance ?

            cheers
            luigi
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: John Baldwin: "Re: Special schedulers, one CPU only kernel, one only userland"

    Relevant Pages

    • Re: duplicate read/write locks in net/pfil.c and netinet/ip_fw2.c
      ... >> In fact i don't understand why you consider spinning and sleeping ... > The major difference between sleeping and blocking ... > on a mutex is priority inheritance. ...
      (freebsd-net)
    • Re: msleep() on recursivly locked mutexes
      ... Further the idea that holding a mutex "except for when we sleep" is a generally ... first a blocking lock and later a sleeping lock, ... it is not always possible to drop the blocking lock ...
      (freebsd-hackers)
    • Re: blockable sleep lock (sleep mutex) 16
      ... code which was calling a lot of mallocs. ... but you can't do an M_WAITOK malloc while holding a mutex. ... sleeping and blocking are actually quite different (blocking uses turnstiles ...
      (freebsd-hackers)
    • Re: "sleeping without a mutex" panic with FixitCD from todays SNAP
      ... SL>> # make installkernel KERNCONF=GENERIC ... SL>> <panic: sleeping without a mutex ... SL> chance that you could do that? ...
      (freebsd-current)
    • Re: propagate_priority KASSERT
      ... > We're currently tripping accross the following KASSERT in ... Priority inheritance is needed to avoid blocking interrupt threads for a ... A thread sleeping while holding a mutex would break priority ...
      (freebsd-stable)