Matthew Dillon cd906fe3de 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>
1999-11-19 16:49:30 +00:00
..
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-10-04 13:55:35 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-09-29 15:06:27 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-09-29 15:06:27 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00
1999-08-28 01:08:13 +00:00