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:
parent
63b1256c9e
commit
6fe65214f2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=71005
@ -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)
|
||||
*------------------------------------------------------------------------------
|
||||
|
@ -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)
|
||||
*------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user