diff options
author | Richard Braun <rbraun@sceen.net> | 2018-01-12 20:52:52 +0100 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2018-01-12 20:52:52 +0100 |
commit | 440a0b8dfb88dde1490feeee56c603d2eac7add2 (patch) | |
tree | 7f4ab8acf1c4047182c47925783d253e9bddf529 /kern/sref.c | |
parent | 091e283bb43fd9e7e50507d20d8f24d1e0f32895 (diff) |
kern/sref: relax memory ordering on weak reference operations
Diffstat (limited to 'kern/sref.c')
-rw-r--r-- | kern/sref.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kern/sref.c b/kern/sref.c index d2eb818..1ad9212 100644 --- a/kern/sref.c +++ b/kern/sref.c @@ -248,13 +248,13 @@ sref_weakref_init(struct sref_weakref *weakref, struct sref_counter *counter) static void sref_weakref_mark_dying(struct sref_weakref *weakref) { - atomic_or(&weakref->addr, SREF_WEAKREF_DYING, ATOMIC_RELEASE); + atomic_or(&weakref->addr, SREF_WEAKREF_DYING, ATOMIC_RELAXED); } static void sref_weakref_clear_dying(struct sref_weakref *weakref) { - atomic_and(&weakref->addr, SREF_WEAKREF_MASK, ATOMIC_RELEASE); + atomic_and(&weakref->addr, SREF_WEAKREF_MASK, ATOMIC_RELAXED); } static int |