Re: Fix spinlock usage in UnpinBuffer() - Mailing list pgsql-patches

From Qingqing Zhou
Subject Re: Fix spinlock usage in UnpinBuffer()
Date
Msg-id dovjp2$acb$1@news.hub.org
Whole thread Raw
In response to Fix spinlock usage in UnpinBuffer()  (Qingqing Zhou <zhouqq@cs.toronto.edu>)
Responses Re: Fix spinlock usage in UnpinBuffer()  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
"Tom Lane" <tgl@sss.pgh.pa.us> wrote
>
> So I'm thinking the right answer is to make all the spinlock macros be
> the equivalent of the NoHoldoff case.  It's reasonable for LWLockAcquire
> to do a HOLD_INTERRUPTS, but I don't see the justification for doing it
> at the spinlock level.
>
I agree on this. But before changing it, we need to inspect those spinlocks
one by one to making sure two things (1) if there is out-of-line-call, make
sure no CHECK_FOR_INTERRUPTS(); (2) ImmediateInterruptsOK is false (99% sure
now).

>
> I'm a bit worried about doing that across-the-board, since at least in
> theory a vendor-supplied qsort ought to be tuned for the hardware et al.
> I think it would be better to substitute our own qsort only on those
> platforms where we have specifically proved it's a win.
>
Our tests indicates that BSD version is better ... but it is just a
home-brew test.

Regards,
Qingqing



pgsql-patches by date:

Previous
From: Michael Fuhr
Date:
Subject: Extra space character in PL/pgSQL documentation
Next
From: Tom Lane
Date:
Subject: Re: Fix spinlock usage in UnpinBuffer()