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
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 |