linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: linux-fsdevel@vger.kernel.org, linux-mm <linux-mm@kvack.org>
Cc: lsf-pc@lists.linux-foundation.org, Theodore Ts'o <tytso@mit.edu>,
	Dave Chinner <david@fromorbit.com>,
	Ritesh Harjani <ritesh.list@gmail.com>,
	John Garry <john.g.garry@oracle.com>,
	Jens Axboe <axboe@kernel.dk>,
	Matthew Wilcox <willy@infradead.org>,
	mcgrof@kernel.org
Subject: [LSF/MM/BPF TOPIC] buffered IO atomic writes
Date: Wed, 5 Feb 2025 11:22:43 -0800	[thread overview]
Message-ID: <Z6O6g4pCu-pXJql5@bombadil.infradead.org> (raw)

On v6.13 XFS got atomics write support through LBS. We have validated the
value of large atomics on databases and provided initial automation
for it through kdevops [0]. This requires direct IO today and there
are impressive confirmed results with it such as the ones Theodore Ts'o had
hinted at last year's LSFMM such as 3x-5x TPS variability gains. However the
results we have observed for buffered IO in PostgreSQL are even more
impressive: 14x-18x in TPS variability gains.

At least year's LSFMM we discused atomic buffered IO support, and if my
memory serves me correctly the conclusions where:

a) The PostgreSQL need for buffered IO due to lack of Direct IO is observed
   as a PostgreSQL mis-feature. So it is not a reason to add buffered IO
   atomic support

b) Near-writehrough buffered IO support would be good

c) Parallelizing writeback would be good

In so far as a) is concerned WiredTiger db is an example database which
although it supports both direct IO and buffered IO it strongly perfers
buffered IO. And so its an example of database which its users do
explicitly prefer buffered IO.

In so far as b) we now have RWF_DONTCACHE merged on v6.14-rc1. Will that
suffice? If not what are we missing?

And with regards to c) Kundan has suggested he's been working on parallelizing
writeback and its a sugested topic for LSFMM [1].

We have not re-tested PostgreSQL atomics benefits with RWF_DONTCACHE and
parallelizing writeback, however I suspect that may improve results even
further. So it seems to be a good time to ask, what else do we need for
buffered IO atomics?

[0] https://github.com/linux-kdevops/kdevops/blob/main/docs/sysbench/sysbench.md
[1] https://lore.kernel.org/all/20250129102627.161448-1-kundan.kumar@samsung.com/

  Luis


                 reply	other threads:[~2025-02-05 19:22 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z6O6g4pCu-pXJql5@bombadil.infradead.org \
    --to=mcgrof@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=david@fromorbit.com \
    --cc=john.g.garry@oracle.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=ritesh.list@gmail.com \
    --cc=tytso@mit.edu \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox