Re: Improving replay of XLOG_BTREE_VACUUM records

From: Vladimir Borodin <root(at)simply(dot)name>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Kevin Grittner <kgrittn(at)ymail(dot)com>
Subject: Re: Improving replay of XLOG_BTREE_VACUUM records
Date: 2015-09-02 21:10:17
Message-ID: D3139BC4-7EB3-4637-8E13-CB1B3015E674@simply.name
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> 25 авг. 2015 г., в 16:03, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> написал(а):
>
> On Sun, Jul 26, 2015 at 9:46 PM, Andres Freund wrote:
>> On 2015-07-24 09:53:49 +0300, Heikki Linnakangas wrote:
>> To me it sounds like this shouldn't go through the full ReadBuffer()
>> rigamarole. That code is already complex enough, and here it's really
>> not needed. I think it'll be much easier to review - and actually faster
>> in many cases to simply have something like
>>
>> bool
>> BufferInCache(Relation, ForkNumber, BlockNumber)
>> {
>> /* XXX: setup tag, hash, partition */
>>
>> LWLockAcquire(newPartitionLock, LW_SHARED);
>> buf_id = BufTableLookup(&newTag, newHash);
>> LWLockRelease(newPartitionLock);
>> return buf_id != -1;
>> }
>>
>> and then fall back to the normal ReadBuffer() when it's in cache.

Yep, sounds good. Patch with implementation attached.

>
> Patch marked as returned with feedback as input from the author has
> been waited for some time now.

Sorry for delay, I will link it to the current commitfest.

> --
> Michael

--
May the force be with you…
https://simply.name

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2015-09-02 21:12:10 Re: exposing pg_controldata and pg_config as functions
Previous Message Alvaro Herrera 2015-09-02 21:04:22 Re: src/test/ssl broken on HEAD