Re: Get rid of WALBufMappingLock
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Pavel Borisov <pashkin.elfe@gmail.com>, Victor Yegorov <vyegorov@gmail.com>, Yura Sokolov <y.sokolov@postgrespro.ru>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2025-02-26T11:48:47Z
Lists: pgsql-hackers
Attachments
- v12-0001-Get-rid-of-WALBufMappingLock.patch (application/octet-stream) patch v12-0001
Hi, Michael! On Wed, Feb 26, 2025 at 3:04 AM Michael Paquier <michael@paquier.xyz> wrote: > > On Tue, Feb 25, 2025 at 05:19:29PM +0200, Alexander Korotkov wrote: > > It seems that I managed to reproduce the issue on my Raspberry PI 4. > > After running our test suite in a loop for 2 days I found one timeout. > > Hmm. It's surprising to not see a higher occurence. My buildfarm > host has caught that on its first run after the patch, for two > different animals which are both on the same machine. > > > One way or another, we need protection against this situation any way. > > The updated patch is attached. Now, after acquiring ReservedPtr it > > waits till OldPageRqstPtr gets initialized. Additionally I've to > > implement more accurate calculation of OldPageRqstPtr. I run tests > > with new patch on my Raspberry in a loop. Let's see how it goes. > > Perhaps you'd prefer that I do more tests with your patch? This is > time-consuming for you. This is not a review of the internals of the > patch, and I cannot give you access to the host, but if my stuff is > the only place where we have a good reproducibility of the issue, I'm > OK to grab some time and run a couple of checks to avoid again a > freeze of the buildfarm. Thank you for offering the help. Updated version of patch is attached (I've added one memory barrier there just in case). I would appreciate if you could run it on batta, hachi or similar hardware. ------ Regards, Alexander Korotkov Supabase