DragonFly commits List (threaded) for 2009-07
DragonFly BSD
DragonFly commits List (threaded) for 2009-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

DragonFly- master sys/conf files sys/kern kern_mutex.c sys/sys mutex.h mutex2.h

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 15 Jul 2009 11:38:51 -0700 (PDT)

commit 33b0b87c7f75846a43b41baa24ae0d170d110724
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Wed Jul 15 11:29:43 2009 -0700

    MPSAFE - Add a set of general blocking/spinnable mutex functions.
    These locks are intended to eventually replace lockmgr locks for most
    use cases.
    * Optimized based on in-line atomic_cmpset_int() calls with fallback call.
    * Recursive shared and exclusive locks.  Downgrading, and non-blocking
    * Interlocked wakeup flags.
    * Serial wakeup for exclusive waiters (i.e. optimal in the face of a large
      number of waiting threads).  Mass-wakeup for shared waiters.
    * Additional entry points for spinning.
    * Ref-count support, separate from lock count.

Summary of changes:
 sys/conf/files        |    1 +
 sys/kern/kern_mutex.c |  356 +++++++++++++++++++++++++++++++++++++++++++++++++
 sys/sys/mutex.h       |   97 +++++++++++++
 sys/sys/mutex2.h      |  227 +++++++++++++++++++++++++++++++
 4 files changed, 681 insertions(+), 0 deletions(-)
 create mode 100644 sys/kern/kern_mutex.c
 create mode 100644 sys/sys/mutex.h
 create mode 100644 sys/sys/mutex2.h


DragonFly BSD source repository

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]