From: Christoph Hellwig <hch@lst.de>
To: Anuj gupta <anuj1072538@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
Christian Brauner <brauner@kernel.org>,
"Darrick J. Wong" <djwong@kernel.org>,
Carlos Maiolino <cem@kernel.org>, Qu Wenruo <wqu@suse.com>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-block@vger.kernel.org, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org
Subject: Re: bounce buffer direct I/O when stable pages are required v3
Date: Mon, 26 Jan 2026 13:47:38 +0100 [thread overview]
Message-ID: <20260126124738.GA28035@lst.de> (raw)
In-Reply-To: <CACzX3At3fS19fmp8wOq29rHK-yw0KFp1bAvTdo9NC9eQj4E=pw@mail.gmail.com>
On Mon, Jan 26, 2026 at 04:24:03PM +0530, Anuj gupta wrote:
> As Keith suggested, here are the QD1 latency numbers (in usec)
Thanks a gain for the benchmarks!
I'd be curious what improvement you see with the iomap-pi series on
Optane, as that drops one of the context switches on read again,
and the less efficiently managed one at that:
git://git.infradead.org/users/hch/misc.git iomap-pi
https://git.infradead.org/?p=users/hch/misc.git;a=shortlog;h=refs/heads/iomap-pi
Otherwise the only thing we can do to get data integrity and performance
is better interfaces. I think for reads we could do that relatively
easily with a version of Joanne's kernel-managed buffer rings that can
only be mapped into userspace read-only. Writes will be more difficult
for anything that isn't a trust-worthy kernel provided buffer
unfortunately, but then again the write degradation is less.
next prev parent reply other threads:[~2026-01-26 12:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-26 5:53 bounce buffer direct I/O when stable pages are required v3 Christoph Hellwig
2026-01-26 5:53 ` [PATCH 01/15] block: add a BIO_MAX_SIZE constant and use it Christoph Hellwig
2026-01-26 6:20 ` Damien Le Moal
2026-01-26 10:24 ` Johannes Thumshirn
2026-01-26 10:55 ` Anuj gupta
2026-01-26 19:36 ` Darrick J. Wong
2026-01-27 14:22 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 02/15] block: refactor get_contig_folio_len Christoph Hellwig
2026-01-26 10:59 ` Anuj gupta
2026-01-27 14:24 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 03/15] block: open code bio_add_page and fix handling of mismatching P2P ranges Christoph Hellwig
2026-01-27 14:25 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 04/15] iov_iter: extract a iov_iter_extract_bvecs helper from bio code Christoph Hellwig
2026-01-26 6:27 ` Damien Le Moal
2026-01-26 11:48 ` Christoph Hellwig
2026-01-27 14:26 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 05/15] block: remove bio_release_page Christoph Hellwig
2026-01-27 14:27 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 06/15] block: add helpers to bounce buffer an iov_iter into bios Christoph Hellwig
2026-01-26 19:39 ` Darrick J. Wong
2026-01-27 14:29 ` Martin K. Petersen
2026-01-26 5:53 ` [PATCH 07/15] iomap: fix submission side handling of completion side errors Christoph Hellwig
2026-01-26 5:53 ` [PATCH 08/15] iomap: simplify iomap_dio_bio_iter Christoph Hellwig
2026-01-26 5:53 ` [PATCH 09/15] iomap: split out the per-bio logic from iomap_dio_bio_iter Christoph Hellwig
2026-01-26 5:53 ` [PATCH 10/15] iomap: share code between iomap_dio_bio_end_io and iomap_finish_ioend_direct Christoph Hellwig
2026-01-26 5:53 ` [PATCH 11/15] iomap: free the bio before completing the dio Christoph Hellwig
2026-01-26 6:22 ` Damien Le Moal
2026-01-26 11:49 ` Christoph Hellwig
2026-01-26 5:53 ` [PATCH 12/15] iomap: rename IOMAP_DIO_DIRTY to IOMAP_DIO_USER_BACKED Christoph Hellwig
2026-01-26 5:53 ` [PATCH 13/15] iomap: support ioends for direct reads Christoph Hellwig
2026-01-26 5:53 ` [PATCH 14/15] iomap: add a flag to bounce buffer direct I/O Christoph Hellwig
2026-01-26 5:53 ` [PATCH 15/15] xfs: use bounce buffering direct I/O when the device requires stable pages Christoph Hellwig
2026-01-26 10:54 ` bounce buffer direct I/O when stable pages are required v3 Anuj gupta
2026-01-26 12:47 ` Christoph Hellwig [this message]
2026-01-28 9:50 ` Carlos Maiolino
2026-01-28 12:17 ` Jens Axboe
2026-01-28 12:17 ` Jens Axboe
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=20260126124738.GA28035@lst.de \
--to=hch@lst.de \
--cc=anuj1072538@gmail.com \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=cem@kernel.org \
--cc=djwong@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=wqu@suse.com \
/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