Re: PGC_SIGHUP shared_buffers? - Mailing list pgsql-hackers

From Andres Freund
Subject Re: PGC_SIGHUP shared_buffers?
Date
Msg-id 20240219194606.3wsuaghwkxo4pc5p@awork3.anarazel.de
Whole thread Raw
In response to Re: PGC_SIGHUP shared_buffers?  (Joe Conway <mail@joeconway.com>)
List pgsql-hackers
Hi,

On 2024-02-19 13:54:01 -0500, Joe Conway wrote:
> On 2/19/24 13:13, Andres Freund wrote:
> > On 2024-02-19 09:19:16 -0500, Joe Conway wrote:
> > > Couldn't we scale the rounding, e.g. allow small allocations as we do now,
> > > but above some number always round? E.g. maybe >= 2GB round to the nearest
> > > 256MB, >= 4GB round to the nearest 512MB, >= 8GB round to the nearest 1GB,
> > > etc?
> > 
> > That'd make the translation considerably more expensive. Which is important,
> > given how common an operation this is.
> 
> 
> Perhaps it is not practical, doesn't help, or maybe I misunderstand, but my
> intent was that the rounding be done/enforced when setting the GUC value
> which surely cannot be that often.

It'd be used for something like

  WhereIsTheChunkOfBuffers[buffer/CHUNK_SIZE]+(buffer%CHUNK_SIZE)*BLCKSZ;

If CHUNK_SIZE isn't a compile time constant this gets a good bit more
expensive. A lot more, if implemented naively (i.e as actual modulo/division
operations, instead of translating to shifts and masks).

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Matthias van de Meent
Date:
Subject: Re: Proposal: Adjacent B-Tree index
Next
From: Andres Freund
Date:
Subject: Re: Why is pq_begintypsend so slow?