Re: Refactoring the checkpointer's fsync request queue

From: Andres Freund <andres(at)anarazel(dot)de>
To: Shawn Debnath <sdn(at)amazon(dot)com>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Refactoring the checkpointer's fsync request queue
Date: 2019-04-04 04:35:59
Message-ID: 20190404043559.syfy3v57ygma2bs4@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2019-04-03 21:19:45 -0700, Shawn Debnath wrote:
> On Thu, Apr 04, 2019 at 02:01:14PM +1300, Thomas Munro wrote:
> > On Thu, Apr 4, 2019 at 11:39 AM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> > > ... Perhaps
> > > that is an argument for putting the sync handler number *inside* the
> > > FileTag, since we currently intend to do that with smgr IDs in
> > > BufferTag (stealing space from ForkNumber).
> >
> > Here is a version like that. I like it better this way, and the extra
> > space can be clawed back by using 16 bit types to hold the fork number
> > and sync handler number.
>
> +typedef struct FileTag
> +{
> + int16 handler; /* SyncRequstHandler value, saving space */
> + int16 forknum; /* ForkNumber, saving space */
> + RelFileNode rnode;
> + BlockNumber segno;
> +} FileTag;

Seems odd to me to use BlockNumber for segno.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2019-04-04 04:37:03 Re: BUG #15383: Join Filter cost estimation problem in 10.5
Previous Message Amit Kapila 2019-04-04 04:29:41 Re: Transaction commits VS Transaction commits (with parallel) VS query mean time