Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

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

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group