Re: Change BgWriterCommLock to spinlock

From: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: Change BgWriterCommLock to spinlock
Date: 2006-01-08 23:32:49
Message-ID: Pine.LNX.4.58.0601081826520.3590@eon.cs
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

On Sun, 8 Jan 2006, Tom Lane wrote:
>
> > (1) The spinlock itself are light weight than the LWLock here and we
> > can reduce the lock contention a little bit in AbsorbFsyncRequests();
>
> Spinlock-based coding is inherently much more fragile than LWLock-based
> coding. I'm against changing things in that direction unless a
> substantial performance improvement can be gained. You didn't offer
> any evidence of improvement at all.
>
Yeah, only theoretically there is some marginal performance improvements.
Maybe you suggest we keep the LWLock but use the circular array part?

> > (2) Don't need the CRITICAL SECTION in AbsorbFsyncRequests() any more;
>
> Really? I think this coding still breaks, rather badly, if
> RememberFsyncRequest fails. Certainly the reasons for needing a
> critical section have nothing to do with what kind of lock is used.
>
Yeah, not related to lock. But I changed algorithm to circular array as
well and notice there is only one reader, so we can remove the requests
after the we are successfully done. In another word, if there is problem,
we never remove the unhanlded requests.

Regards,
Qingqing

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2006-01-09 00:16:52 Re: Change BgWriterCommLock to spinlock
Previous Message Tom Lane 2006-01-08 23:22:22 Re: Change BgWriterCommLock to spinlock