Re: Checkpointer write combining - Mailing list pgsql-hackers

From Melanie Plageman
Subject Re: Checkpointer write combining
Date
Msg-id CAAKRu_bO0AopZhdpYVec+x8GsNrRxE4rq22AiOouViVVyOHU=w@mail.gmail.com
Whole thread Raw
In response to Re: Checkpointer write combining  (Melanie Plageman <melanieplageman@gmail.com>)
List pgsql-hackers
Attached v12 fixes a variety of buglets I found throughout the patch set.

I've also done quite a bit of refactoring. The scope of the
refactoring varies from inlining some helpers to introducing new input
argument structs.

0001 is independently valuable as it optimizes StrategyRejectBuffer()
a bit and makes GetVictimBuffer() cleaner

0002-0007 were largely present in older versions of the patch set

0008 is new -- it is an early version of batching for normal backends
flushing a buffer to obtain a clean one. Right now, it checks if the
two blocks succeeding the target block are in shared buffers and
dirty, and, if so, writes them out with the target buffer. I haven't
started testing or benchmarking it because I need to convert bgwriter
to use write combining to be able to benchmark it effectively. But I
thought I would get the code out there sooner rather than later.

It's a lot harder with my current code structure to add the target
block's predecessor if it is dirty and read to write out. I wonder how
important this is vs just the two succeeding blocks.

- Melanie

Attachment

pgsql-hackers by date:

Previous
From: Rustam ALLAKOV
Date:
Subject: Re: Add support for EXTRA_REGRESS_OPTS for meson
Next
From: Melanie Plageman
Date:
Subject: Re: Eagerly evict bulkwrite strategy ring