cfallin opened PR #4987 from aarch64-membarrier-cmd-shared
to main
:
This is an attempt to fix #4972 by adding a fallback syscall that older kernels should support. The fallback is invoked only if the more specific membarrier fails.
cfallin requested akirilov-arm for a review on PR #4987.
bjorn3 submitted PR review.
bjorn3 created PR review comment:
RegisterPrivateExpeditedSyncCore
registers intent to usePrivateExpeditedSyncCore
later on in thepublish
method.Global
should be used inpublish
and doesn't have an associated register command.
akirilov-arm submitted PR review.
akirilov-arm submitted PR review.
akirilov-arm created PR review comment:
This change should be applied to line 171 instead, and I think that here you can just use
unwrap_or_default()
.Since the
EXPEDITED
commands have additional overhead (according to the documentation), the process must opt in explicitly to use them via the correspondingREGISTER
command (e.g.MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
); the call here is precisely that registration.BTW in hindsight when I implemented this initially, adding this call here was probably not the best idea because the registration should happen only once for the whole lifetime of the process (instead of whenever a
CodeMemory
object is created, though subsequent registrations are harmless); perhaps the moment of theEngine
creation is a better time? Of course, that assumes that no one is going to use aCodeMemory
object without creating anEngine
first.
akirilov-arm submitted PR review.
akirilov-arm created PR review comment:
Ninja'd by @bjorn3 :smiley:.
akirilov-arm edited PR review comment.
cfallin closed without merge PR #4987.
Last updated: Nov 22 2024 at 16:03 UTC