Skip to content

ntdll: Implement NtFlushProcessWriteBuffers.

Based on a patch by Jinoh Kang (@iamahuman) from February 2022.

I removed the need for the event object and implemented fast paths for Linux.
On macOS 10.14+ thread_get_register_pointer_values is called on every thread of the process.
On Linux 4.14+ membarrier(MEMBARRIER_CMD_GLOBAL_EXPEDITED, ...) is used.
On x86 Linux <= 4.13 and on other platforms madvise(..., MADV_DONTNEED) is used, which sends IPIs to all cores causing them to do a memory barrier.

Edited by Torge Matthies

Merge request reports

Loading