Re: dynamically allocating chunks from shared memory
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Bruce Momjian <bruce@momjian.us>, Markus Wanner <markus@bluegap.ch>, Alvaro Herrera <alvherre@commandprompt.com>, PostgreSQL-development Hackers <pgsql-hackers@postgresql.org>
Date: 2010-08-10T01:29:27Z
Lists: pgsql-hackers
On Mon, Aug 9, 2010 at 7:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Robert Haas <robertmhaas@gmail.com> writes: >> On Mon, Aug 9, 2010 at 4:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> Particular implementations might cope with such cases in useful ways, or >>> then again they might not. >> That doesn't seem like a big problem to me. I was assuming we'd need >> to remap when the size changed. > Well, as long as you can do that, sure. I'm concerned about what > happens if/when remapping fails (not at all unlikely in 32-bit address > spaces in particular). You mentioned that that would probably have to > be a PANIC condition, which I think I agree with; and that idea pretty > much kills any argument that this would be a good way to improve server > uptime. In some cases, you might be able to get by with FATAL. Still, it's easier to imagine using this in cases for things like resizing shared_buffers (where the alternative is to restart the server anyway) than it is to use it for routine memory allocation. > Another issue is that if you're doing dynamic remapping you almost > certainly can't assume that the segment will appear at the same > addresses in every backend. We could live with that for shared buffers > without too much pain, but not so much for most other shared > datastructures. Hmm. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company