rwlock_64.s

来自「linux 内核源代码」· S 代码 · 共 39 行

S
39
字号
/* Slow paths of read/write spinlocks. */#include <linux/linkage.h>#include <asm/rwlock.h>#include <asm/alternative-asm.h>#include <asm/dwarf2.h>/* rdi:	pointer to rwlock_t */ENTRY(__write_lock_failed)	CFI_STARTPROC	LOCK_PREFIX	addl $RW_LOCK_BIAS,(%rdi)1:	rep	nop	cmpl $RW_LOCK_BIAS,(%rdi)	jne 1b	LOCK_PREFIX	subl $RW_LOCK_BIAS,(%rdi)	jnz  __write_lock_failed	ret	CFI_ENDPROCEND(__write_lock_failed)/* rdi:	pointer to rwlock_t */ENTRY(__read_lock_failed)	CFI_STARTPROC	LOCK_PREFIX	incl (%rdi)1:	rep	nop	cmpl $1,(%rdi)	js 1b	LOCK_PREFIX	decl (%rdi)	js __read_lock_failed	ret	CFI_ENDPROCEND(__read_lock_failed)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?