Part 2... Does this indicate a specific alignment restriction, memory fragmentation, or a resource conflict on Apple Silicon? No, I don't think anything like that is going on. Synchronization for Memory Visibility: To ensure that the virtual address mapping established in UserMap... is globally visible across all CPU cores and execution contexts before the kernel issues the first Bundled Task, are there recommended synchronization primitives or Memory Barrier calls? No, I don't think any special synchronization is required. If you're tracking the buffer through a direct pointer, then the relative gap between UserMapBundledParallelTaskCommandAndResponseBuffers and the first possible call to BundledParallelTaskCompletion is so large that any kind of synchronization is unnecessary. This is also a fine reason to not bother holding/freeing the IOMemoryMap— if you never free your buffer pointer, then its values will only EVER be NULL (uninitialized) or its valid value (post initialized). The more I think about this
Topic:
App & System Services
SubTopic:
Drivers
Tags: