From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Simon Riggs <simon(at)2ndQuadrant(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: MemoryContextSwitchTo (Re: [GENERAL] Autovacuum daemon terminated by signal 11) |
Date: | 2009-01-17 17:55:20 |
Message-ID: | 87ocy5ddh3.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
>> Can we add something to memory contexts to make this fail every time?
>
> No, not really. AFAICS the reason for Alvaro not seeing it must be that
> on his machine the new transaction happens to allocate its
> TopTransactionContext control block right in the same place where the
> old one was.
>
> We could have a debugging mode in which pfree'd space is never recycled
> for reuse (just filled with 0xdeadbeef or whatever and left to sit).
Hm, I wonder how much more practical it would be if we recycled it but offset
the pointer by maxalign. We would waste 4/8 bytes per palloc/free cycle
instead of the whole chunk.
(Whether palloc could actually do this would be another question, there are
lots of allocator algorithms that wouldn't be able to, I think.)
If we had a more formalized save_memory_context()/restore_memory_context()
which gave you more than just a pointer we could do better for this particular
case. save_memory_context() could hand you a struct with a pointer as well as
some sanity check values about the context you're saving.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's On-Demand Production Tuning
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Davis | 2009-01-17 18:43:01 | Re: array_agg for 8.3 |
Previous Message | Joshua D. Drake | 2009-01-17 17:41:31 | Re: executing a sql script |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-01-17 18:56:21 | Re: pg_dump versus views and opclasses |
Previous Message | Alvaro Herrera | 2009-01-17 17:15:46 | Re: MemoryContextSwitchTo (Re: [GENERAL] Autovacuum daemon terminated by signal 11) |