Hello,
My team and I have been working on adding Large block size(LBS)
support to XFS in Linux[1]. Once this feature lands upstream, we will be
able to create XFS with FS block size > page size of the system on Linux.
We also gave a talk about it in Linux Plumbers conference recently[2]
for more context. The initial support is only for XFS but more FSs will
follow later.
On an x86_64 system, fs block size was limited to 4k, but traditionally
Postgres uses 8k as its default internal page size. With LBS support,
fs block size can be set to 8K, thereby matching the Postgres page size.
If the file system block size == DB page size, then Postgres can have
guarantees that a single DB page will be written as a single unit during
kernel write back and not split.
My knowledge of Postgres internals is limited, so I'm wondering if there
are any optimizations or potential optimizations that Postgres could
leverage once we have LBS support on Linux?
[1] https://lore.kernel.org/linux-xfs/20240313170253.2324812-1-kernel@pankajraghav.com/
[2] https://www.youtube.com/watch?v=ar72r5Xf7x4
--
Pankaj Raghav