FYI: The mb(9) API -- consisting of the mb_read, mb_write, and mb_memory memory barriers -- was incomplete for users (failed to cover important use cases) and incompletely defined (not defined on some platforms like x86). It was intended to be removed over a decade ago in favour of the Solaris-style membar_*; only a few MD users in-tree remain.
I'm about to remove mb(9) altogether. This is a step in modernizing our memory ordering interfaces. If you were using it for some reason, let me know and I can help you find the appropriate replacement.