Re: Add last commit LSN to pg_last_committed_xact()

From: James Coleman <jtc331(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add last commit LSN to pg_last_committed_xact()
Date: 2022-01-20 13:15:21
Message-ID: CAAaqYe_-L_kzAaZPYykp8_btjKCrMweH+ug5+2BQ3NDtoct__Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 19, 2022 at 10:12 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> Hi,
>
> On 2022-01-19 21:23:12 -0500, James Coleman wrote:
> > { oid => '3537', descr => 'get identification of SQL object',
> > diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h
> > index a58888f9e9..2a026b0844 100644
> > --- a/src/include/storage/proc.h
> > +++ b/src/include/storage/proc.h
> > @@ -258,6 +258,11 @@ struct PGPROC
> > PGPROC *lockGroupLeader; /* lock group leader, if I'm a member */
> > dlist_head lockGroupMembers; /* list of members, if I'm a leader */
> > dlist_node lockGroupLink; /* my member link, if I'm a member */
> > +
> > + /*
> > + * Last transaction metadata.
> > + */
> > + XLogRecPtr lastCommitLSN; /* cache of last committed LSN */
> > };
>
> Might be worth forcing this to be on a separate cacheline than stuff more
> hotly accessed by other backends, like the lock group stuff.

What's the best way to do that? I'm poking around and don't see any
obvious cases of doing that in a struct definition. I could add a
char* of size PG_CACHE_LINE_SIZE, but that seems unnecessarily
wasteful, and the other ALIGN macros seem mostly used in situations
where we're allocating memory. Is it possible in C to get the size of
the struct so far to be able to subtract from PG_CACHE_LINE_SIZE?
Maybe there's some other approach I'm missing...

Thanks,
James Coleman

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2022-01-20 13:18:14 Re: Logical replication timeout problem
Previous Message Alvaro Herrera 2022-01-20 13:13:35 Re: row filtering for logical replication