On Tue, Aug 3, 2021 at 2:56 PM Andres Freund wrote:
> On 2021-08-03 13:44:58 +1200, Thomas Munro wrote:
> > In the case of buffer pin waits, we switch to storing the pgprocno of
> > the waiter. In the case of SERIALIZABLE READ ONLY DEFERRABLE waits, we
> > derive the pgprocno from the vxid (thoug
Hi,
On 2021-08-03 13:44:58 +1200, Thomas Munro wrote:
> New idea. Instead of adding pgprocno to SERIALIZABLEXACT (which we
> should really be trying to shrink, not grow), let's look it up by
> vxid->backendId. I didn't consider that before, because I was trying
> not to get tangled up with Back
Hey Thomas,
On Mon, Aug 2, 2021 at 6:45 PM Thomas Munro wrote:
>
> Hi Soumyadeep,
>
> On Sat, Jul 24, 2021 at 5:26 PM Soumyadeep Chakraborty
> wrote:
> > On Tue, Jul 20, 2021 at 10:40 PM Thomas Munro
> > wrote:
> > > I wonder why we need this member anyway, when you can compute it from
> > > t
Hi Soumyadeep,
On Sat, Jul 24, 2021 at 5:26 PM Soumyadeep Chakraborty
wrote:
> On Tue, Jul 20, 2021 at 10:40 PM Thomas Munro wrote:
> > I wonder why we need this member anyway, when you can compute it from
> > the address... #define GetPGProcNumber(p) ((p) - ProcGlobal->allProcs)
> > or somethin
HI Thomas,
On Tue, Jul 20, 2021 at 10:40 PM Thomas Munro wrote:
> > Slightly tangential: we should add a comment to PGPROC.pgprocno, for more
> > immediate understandability:
> >
> > + int pgprocno; /* index of this PGPROC in ProcGlobal->allProcs */
>
> I wonder why we need this member anyway, w
Hi Soumyadeep and Ashwin,
Thanks for looking!
On Sun, Jul 18, 2021 at 6:58 AM Soumyadeep Chakraborty
wrote:
> You might have missed a spot to initialize SERIALIZABLE_XACT->pgprocno in
> InitPredicateLocks(), so:
>
> + PredXact->OldCommittedSxact->pgprocno = INVALID_PGPROCNO;
The magic OldCommit
Hi Thomas,
You might have missed a spot to initialize SERIALIZABLE_XACT->pgprocno in
InitPredicateLocks(), so:
+ PredXact->OldCommittedSxact->pgprocno = INVALID_PGPROCNO;
Slightly tangential: we should add a comment to PGPROC.pgprocno, for more
immediate understandability:
+ int pgprocno; /* in
On Fri, Mar 12, 2021 at 12:31 AM Thomas Munro wrote:
> ProcSendSignal(pid) searches the ProcArray for the given pid and then
> sets that backend's procLatch. It has only two users: UnpinBuffer()
> and ReleasePredicateLocks(). In both cases, we could just as easily
> have recorded the pgprocno in
Hi,
ProcSendSignal(pid) searches the ProcArray for the given pid and then
sets that backend's procLatch. It has only two users: UnpinBuffer()
and ReleasePredicateLocks(). In both cases, we could just as easily
have recorded the pgprocno instead, avoiding the locking and the
searching. We'd also