James Hilliard <james.hilliard1@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