James Hilliard <james.hillia...@gmail.com> writes: > OSX implements sysv shmem support via a mach wrapper, however the mach > sysv shmem wrapper has some severe restrictions that prevent us from > allocating enough memory segments in some cases. > ... > In order to avoid hitting these limits we can bypass the wrapper layer > and just use mach directly.
I wanted to review this, but it's impossible because the kernel calls you're using have you've-got-to-be-kidding documentation like this: https://developer.apple.com/documentation/kernel/1402504-mach_vm_page_info?language=objc Google finds the source code too, but that's equally bereft of useful documentation. So I wonder where you obtained the information necessary to write this patch. I did notice however that mach_shmem.c seems to be 95% copy-and-paste from sysv_shmem.c, including a lot of comments that don't feel particularly true or relevant here. I wonder whether we need a separate file as opposed to a few #ifdef's around the kernel calls. regards, tom lane