Re: Shortcoming in CLOBBER_FREED_MEMORY coverage: disk buffer pointers

From: Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: Shortcoming in CLOBBER_FREED_MEMORY coverage: disk buffer pointers
Date: 2015-01-27 00:03:02
Message-ID: 54C6D5B6.4060902@BlueTreble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 1/26/15 4:51 PM, Tom Lane wrote:
> Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> writes:
>> On 1/24/15 3:31 PM, Tom Lane wrote:
>>> Another idea is to teach Valgrind that whenever a backend reduces its
>>> pin count on a shared buffer to zero, that buffer should become undefined
>>> memory.
>
>> <paranoia>
>
>> Shouldn't this technically tie in with ResourceOwners?
>
> No. ResourceOwner is just a mechanism to ensure that we remember to call
> UnpinBuffer, it has no impact on what the semantics of the pin count are.
> The *instant* the pin count goes to zero, another backend is entitled to
> recycle that buffer for some other purpose.

But one backend can effectively "pin" a buffer more than once, no? If so, then ISTM there's some risk that code path A pins and forgets to unpin, but path B accidentally unpins for A.

But as you say, this is all academic until the pin count hits 0, so it's probably not worth worrying about.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Nasby 2015-01-27 00:10:21 Re: pg_upgrade and rsync
Previous Message Andres Freund 2015-01-26 23:51:46 Re: Re: Abbreviated keys for Numeric