slock-no-cmpb.patch

application/octet-stream

Filename: slock-no-cmpb.patch
Type: application/octet-stream
Part: 0
Message: Re: Spinlocks, yet again: analysis and proposed patches

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: context
File+
new/s_lock.h Fri Sep 9 14:58:44 2005 1 5
*** REL8_0/src/include/storage/s_lock.h Sun Aug 28 20:41:44 2005
--- new/s_lock.h        Fri Sep  9 14:58:44 2005
***************
*** 120,132 ****
  {
        register slock_t _res = 1;

!       /* Use a non-locking test before asserting the bus lock */
        __asm__ __volatile__(
-               "       cmpb    $0,%1   \n"
-               "       jne             1f              \n"
-               "       lock                    \n"
                "       xchgb   %0,%1   \n"
-               "1: \n"
  :             "+q"(_res), "+m"(*lock)
  :
  :             "memory", "cc");
--- 120,128 ----
  {
        register slock_t _res = 1;

!       /* xchg implies a LOCK prefix, so no need to say LOCK explicitly */
        __asm__ __volatile__(
                "       xchgb   %0,%1   \n"
  :             "+q"(_res), "+m"(*lock)
  :
  :             "memory", "cc");