Re: Refactoring the checkpointer's fsync request queue
Shawn Debnath <sdn@amazon.com>
From: Shawn Debnath <sdn@amazon.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Dmitry Dolgov <9erthalion6@gmail.com>,
Robert Haas <robertmhaas@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-03-05T16:07:15Z
Lists: pgsql-hackers
On Tue, Mar 05, 2019 at 10:45:37PM +1300, Thomas Munro wrote: > On Tue, Mar 5, 2019 at 2:25 PM Shawn Debnath <sdn@amazon.com> wrote: > > [v11 patch] > > Thanks. Hmm, something is wrong here because make check is > dramatically slower -- for example the "insert" test runs in ~8-13 > seconds instead of the usual ~0.2 seconds according to Travis, > AppVeyor and my local FreeBSD system (note that fsync is disabled so > it's not that -- it must be bogus queue-related CPU?) Confirmed. Patch shows 8900 ms vs 192 ms on master for the insert test. Interesting! It's reproducible so should be able to figure out what's going on. The only thing we do in ForwardSyncRequest() is split up the 8 bits into 2x4 bits and copy the FileTagData structure to the checkpointer queue. Will report back what I find. -- Shawn Debnath Amazon Web Services (AWS)
Commits
-
Fix bugs in mdsyncfiletag().
- 794c543b1736 12.0 landed
-
Refactor the fsync queue for wider use.
- 3eb77eba5a51 12.0 landed
-
Don't forget about failed fsync() requests.
- 1556cb2fc5c7 12.0 cited
-
PANIC on fsync() failure.
- 9ccdd7f66e33 12.0 cited
-
Move LockClauseStrength, LockWaitPolicy into new file nodes/lockoptions.h.
- 9fac5fd741ec 9.5.0 cited
-
Add new file for checkpointer.c
- bf405ba8e460 9.2.0 cited
-
Split work of bgwriter between 2 processes: bgwriter and checkpointer.
- 806a2aee3791 9.2.0 cited
-
Install infrastructure for shared-memory free space map. Doesn't actually
- e0c9301c8763 7.2.1 cited