Re: BUG #14897: Segfault on statitics SQL request
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Dmitry Dolgov <9erthalion6@gmail.com>, Michael Paquier <michael.paquier@gmail.com>, Vincent Lachenal <vincent.lachenal@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2017-11-11T17:45:12Z
Lists: pgsql-bugs
On 2017-11-11 12:41:40 -0500, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > That's using SSE, which requires 16byte alignment IIRC. I think we need > > a function that properly allocate int128 vars with the right alignment - > > don't think we want to go for full 16byte alignment for everything. > > Yeah, changing MAXALIGN is out of the question. I'm thinking about > another flag bit for MemoryContextAllocExtended. Do we need to think > about other use-cases besides int128? Should we just force 16-byte > alignment on all architectures, or does it need to be platform-specific? I'm not sure we want to a) Rely on one alignment being enough for everybody. b) Additionally burden already hot code paths with a growing number of alignment flag tests, and the necessary math. How about a MemoryContextAllocAligned(context, size, alignto, flags) that passes on most flags but adds the necessary overhead to size, and padds the result appropriately? Greetings, Andres Freund
Commits
-
Prevent int128 from requiring more than MAXALIGN alignment.
- d4e38489f98a 9.5.11 landed
- 619a8c47da72 10.2 landed
- 4a15f87d2277 9.6.7 landed
- 7518049980be 11.0 landed
-
Rearrange c.h to create a "compiler characteristics" section.
- cfc157078f2e 9.5.11 landed
- a8910506757c 10.2 landed
- 6c35b3aa465e 9.6.7 landed
- 91aec93e6089 11.0 landed