Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.26-rc3 38 lines 646 B view raw
1/* Slow paths of read/write spinlocks. */ 2 3#include <linux/linkage.h> 4#include <asm/rwlock.h> 5#include <asm/alternative-asm.h> 6#include <asm/dwarf2.h> 7 8/* rdi: pointer to rwlock_t */ 9ENTRY(__write_lock_failed) 10 CFI_STARTPROC 11 LOCK_PREFIX 12 addl $RW_LOCK_BIAS,(%rdi) 131: rep 14 nop 15 cmpl $RW_LOCK_BIAS,(%rdi) 16 jne 1b 17 LOCK_PREFIX 18 subl $RW_LOCK_BIAS,(%rdi) 19 jnz __write_lock_failed 20 ret 21 CFI_ENDPROC 22END(__write_lock_failed) 23 24/* rdi: pointer to rwlock_t */ 25ENTRY(__read_lock_failed) 26 CFI_STARTPROC 27 LOCK_PREFIX 28 incl (%rdi) 291: rep 30 nop 31 cmpl $1,(%rdi) 32 js 1b 33 LOCK_PREFIX 34 decl (%rdi) 35 js __read_lock_failed 36 ret 37 CFI_ENDPROC 38END(__read_lock_failed)