1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00

Work around the broken atomic_store_rel_ptr() on the i386 arch by just

using atomic_cmpset_rel_ptr() instead for _release_lock_quick().  When
atomic_store_rel_ptr() is functional and MP safe, then this can be
reverted.
This commit is contained in:
John Baldwin 2001-01-14 00:16:17 +00:00
parent 63b1256c9e
commit 6fe65214f2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=71005
2 changed files with 8 additions and 0 deletions

View File

@ -62,6 +62,10 @@ extern char STR_SIEN[];
#define mtx_legal2block() (read_eflags() & PSL_I)
/* Actually release mtx_lock quickly assuming that we own it */
#define _release_lock_quick(mp) \
atomic_cmpset_rel_int(&(mp)->mtx_lock, (mp)->mtx_lock, MTX_UNOWNED)
/*
* Assembly macros (for internal use only)
*------------------------------------------------------------------------------

View File

@ -62,6 +62,10 @@ extern char STR_SIEN[];
#define mtx_legal2block() (read_eflags() & PSL_I)
/* Actually release mtx_lock quickly assuming that we own it */
#define _release_lock_quick(mp) \
atomic_cmpset_rel_int(&(mp)->mtx_lock, (mp)->mtx_lock, MTX_UNOWNED)
/*
* Assembly macros (for internal use only)
*------------------------------------------------------------------------------