Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Nov 1999 14:47:21 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/include lock.h
Message-ID:  <199911192247.OAA01716@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      1999/11/19 14:47:21 PST

  Modified files:
    sys/i386/include     lock.h 
  Log:
        Optimize two cases in the MP locking code.  First, it is not necessary
        to use a locked cmpexg when unlocking a lock that we already hold, since
        nobody else can touch the lock while we hold it.  Second, it is not
        necessary to use a locked cmpexg when locking a lock that we already
        hold, for the same reason.  These changes will allow MP locks to be used
        recursively without impacting performance.
  
        Modify two procedures that are called only by assembly and are already
        NOPROF entries to pass a critical argument in %edx instead of on the
        stack, removing a significant amount of code from the critical path
        as a consequence.
  
  Reviewed by:	Alfred Perlstein <bright@wintelcom.net>, Peter Wemm <peter@netplex.com.au>
  
  Revision  Changes    Path
  1.11      +3 -4      src/sys/i386/include/lock.h



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911192247.OAA01716>