From: | Neil Conway <neilc(at)samurai(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Mark Kirkwood <markir(at)coretech(dot)co(dot)nz>, pgsql-patches(at)postgresql(dot)org |
Subject: | Re: Display Pg buffer cache (WIP) |
Date: | 2005-03-06 08:13:17 |
Message-ID: | 422ABB9D.2050905@samurai.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Tom Lane wrote:
> It'd be possible to dispense with the per-buffer spinlocks so long as
> you look only at the tag (and perhaps the TAG_VALID flag bit). The
> tags can't be changing while you hold the BufMappingLock.
That's what I had thought at first, but this comment in buf_internals.h
dissuaded me: "buf_hdr_lock must be held to examine or change the tag,
flags, usage_count, refcount, or wait_backend_id fields." The comment
already notes this isn't true if you've got the buffer pinned; it would
be worth adding another exception for holding the BufMappingLock, IMHO.
> I'm dubious that there's any point in recording information as
> transient as the refcounts and dirtybits
I think it's worth recording dirty bits -- it provides an indication of
the effectiveness of the bgwriter, for example. Reference counts could
be done away with, although I doubt it would have a significant effect
on the time spent holding the lock.
-Neil
From | Date | Subject | |
---|---|---|---|
Next Message | Neil Conway | 2005-03-06 08:49:05 | Re: Display Pg buffer cache (WIP) |
Previous Message | Heikki Linnakangas | 2005-03-06 06:50:50 | Re: Cleaning up unreferenced table files |