Re: Fix spinlock usage in UnpinBuffer()
- From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- To: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
- Cc: pgsql-patches(at)postgresql(dot)org
- Subject: Re: Fix spinlock usage in UnpinBuffer()
- Date: Thu, 29 Dec 2005 13:13:25 -0500
- Message-id: <19982.1135880005@sss.pgh.pa.us> <text/plain>
Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu> writes:
> Remove SpinLockAcquire_NoHoldoff() and related. Now SpinLockAcquire() will
> not holdoff cancle/die interrupts. This will give cleaner and clearer
> useage of spinlock and also save a few cycles.
Applied with some minor comment updates.
I noticed that shmem.c holds ShmemIndexLock considerably longer than any
other spinlock is held, and across operations that could theoretically
fail (hashtable manipulations). This doesn't matter a lot in the Unix
code because only the postmaster ever executes ShmemInitStruct, but
in the Windows port we run that code every time a backend is launched.
I think that we could convert that spinlock to an LWLock. Will look into it.
regards, tom lane
Home |
Main Index |
Thread Index