From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Julien Rouhaud <rjuju123(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Reducing the chunk header sizes on all memory context types |
Date: | 2022-10-06 22:38:05 |
Message-ID: | CAApHDvrED76Jz-QHXBKQEZpR=Gh3EAE_1cyWQDCcou+QHvc5Xg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 7 Oct 2022 at 10:57, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I poked at this some more by creating a function that intentionally
> does pfree(malloc(N)) for various values of N.
>
> RHEL8, x86_64: the low-order nibble of the header is consistently 0001.
>
> macOS 12.6, arm64: the low-order nibble is consistently 0000.
>
> FreeBSD 13.0, arm64: Usually the low-order nibble is 0000 or 1111,
> but for some smaller values of N it sometimes comes up as 0010.
>
> NetBSD 9.2, amd64: results similar to FreeBSD.
Out of curiosity I tried using the attached on a Windows machine and got:
0: 130951
1: 131061
2: 133110
3: 129053
4: 131061
5: 131067
6: 131070
7: 131203
So it seems pretty much entirely inconsistent on that platform.
Also, on an Ubuntu machine I didn't get the consistent 0001 as you got
on your RHEL machine. There were a very small number of 010's there
too:
0: 0
1: 1048569
2: 7
3: 0
4: 0
5: 0
6: 0
7: 0
Despite Windows not being very consistent here, I think it's a useful
change as if our most common platform (Linux/glibc) is fairly
consistent, then that'll give us wide coverage to track down any buggy
code.
In anycase, even on Windows (assuming it's completely random) we'll
have a 5 out of 8 chance of getting a nice error message if there are
any bad pointers being passed.
David
Attachment | Content-Type | Size |
---|---|---|
malloc_ptr.c | text/plain | 454 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2022-10-06 22:59:49 | Re: START_REPLICATION SLOT causing a crash in an assert build |
Previous Message | Melanie Plageman | 2022-10-06 22:23:53 | Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?) |