From: | Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | David Rowley <dgrowleyml(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Add bump memory context type and use it for tuplesorts |
Date: | 2024-04-04 19:42:12 |
Message-ID: | CAEze2Wi-+0whWxMTXeZvd_RNgjhO55maNftavpfK9oYf77KcyA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 25 Mar 2024 at 22:44, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>
> David Rowley <dgrowleyml(at)gmail(dot)com> writes:
> > On Tue, 26 Mar 2024 at 03:53, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >> Could we move the knowledge of exactly which context type it is out
> >> of the per-chunk header and keep it in the block header?
>
> > I wasn't 100% clear on your opinion about using 010 vs expanding the
> > bit-space. Based on the following it sounded like you were not
> > outright rejecting the idea of consuming the 010 pattern.
>
> What I said earlier was that 010 was the least bad choice if we
> fail to do any expansibility work; but I'm not happy with failing
> to do that.
Okay.
> Basically, I'm not happy with consuming the last reasonably-available
> pattern for a memory context type that has little claim to being the
> Last Context Type We Will Ever Want. Rather than making a further
> dent in our ability to detect corrupted chunks, we should do something
> towards restoring the expansibility that existed in the original
> design. Then we can add bump contexts and whatever else we want.
So, would something like the attached make enough IDs available so
that we can add the bump context anyway?
It extends memory context IDs to 5 bits (32 values), of which
- 8 have glibc's malloc pattern of 001/010;
- 1 is unused memory's 00000
- 1 is wipe_mem's 11111
- 4 are used by existing contexts (Aset/Generation/Slab/AlignedRedirect)
- 18 are newly available.
Kind regards,
Matthias
Attachment | Content-Type | Size |
---|---|---|
v0-0001-Add-bitspace-for-more-memory-context-types-in-Mem.patch.txt | text/plain | 8.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2024-04-04 19:54:46 | Re: WIP Incremental JSON Parser |
Previous Message | Robert Haas | 2024-04-04 19:38:23 | Re: Security lessons from liblzma |