Re: [PATCH 1/1] Initial mach based shared memory support.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: James Hilliard <james(dot)hilliard1(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH 1/1] Initial mach based shared memory support.
Date: 2021-01-19 00:29:11
Message-ID: 442009.1611016151@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

James Hilliard <james(dot)hilliard1(at)gmail(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuro Yamada 2021-01-19 00:44:31 Re: list of extended statistics on psql
Previous Message Mark G 2021-01-19 00:19:46 Make gaps array static