aboutsummaryrefslogtreecommitdiffstats
path: root/man/man7
diff options
context:
space:
mode:
authorRichard Yao <[email protected]>2022-09-15 16:24:00 -0400
committerGitHub <[email protected]>2022-09-15 13:24:00 -0700
commite949d36040e5e79fe0dfda6a33451111cc5a0476 (patch)
tree35aa4b33d1729688326a461ba5d96e0d8964f35c /man/man7
parentdc2fe24ca22392a589fbafdf15e4c32f42442006 (diff)
Fix assertions in crypto reference helpers
The assertions are racy and the use of `membar_exit()` did nothing to fix that. The helpers use atomic functions, so we cleverly get values from the atomics that we can use to ensure that the assertions operate on the correct values. We also use `membar_producer()` prior to decrementing reference counts so that operations that happened prior to a decrement to 0 will be guaranteed to happen before the decrement on architectures that reorder atomics. This also slightly improves performance by eliminating unnecessary reads, although I doubt it would be measurable in any benchmark. Reviewed-by: Mateusz Guzik <[email protected]> Signed-off-by: Richard Yao <[email protected]> Closes #13880
Diffstat (limited to 'man/man7')
0 files changed, 0 insertions, 0 deletions