From: "Theodore Ts'o" <tytso@mit.edu>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: Ritesh Harjani <ritesh.list@gmail.com>,
Luis Chamberlain <mcgrof@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org,
linux-block@vger.kernel.org, lsf-pc@lists.linux-foundation.org,
david@fromorbit.com, leon@kernel.org, hch@lst.de,
kbusch@kernel.org, sagi@grimberg.me, axboe@kernel.dk,
joro@8bytes.org, brauner@kernel.org, hare@suse.de,
willy@infradead.org, john.g.garry@oracle.com,
p.raghav@samsung.com, gost.dev@samsung.com, da.gomez@samsung.com
Subject: Re: [LSF/MM/BPF TOPIC] breaking the 512 KiB IO boundary on x86_64
Date: Fri, 21 Mar 2025 00:56:04 -0400 [thread overview]
Message-ID: <20250321045604.GA1161423@mit.edu> (raw)
In-Reply-To: <20250321030526.GW89034@frogsfrogsfrogs>
On Thu, Mar 20, 2025 at 08:05:26PM -0700, Darrick J. Wong wrote:
> > So now applications need to be careful to not submit any direct-io &
> > buffered-io in parallel with such above patterns on a raw block device,
> > correct? That is what I would like to confirm.
>
> I think that's correct, and kind of horrifying if true. I wonder if
> ->invalidate_folio might be a reasonable way to clear the uptodate bits
> on the relevant parts of a large folio without having to split or remove
> it?
FWIW, I've always recommended not mixing DIO and buffered I/O, either
for filesystems or block device.
> > >> And IIUC, what Linux recommends is to never mix any kind of direct-io
> > >> and buffered-io when doing I/O on raw block devices, but I cannot find
> > >> this recommendation in any Documentation? So can someone please point me
> > >> one where we recommend this?
> >
> > And this ^^^
From the open(2) man page, in the NOTES section:
Applications should avoid mixing O_DIRECT and normal I/O to the
same file, and especially to overlap‐ ping byte regions in the
same file. Even when the filesystem correctly handles the
coherency issues in this situation, overall I/O throughput is
likely to be slower than using either mode alone. Likewise,
applications should avoid mixing mmap(2) of files with direct I/O
to the same files.
As I recall, in the eary days Linux's safety for DIO and Bufered I/O
was best efforts, and other Unix system the recommendation to "don't
mix the streams" was far stronger. Even if it works reliably for
Linux, it's still something I recommend that people avoid if at all
possible.
- Ted
next prev parent reply other threads:[~2025-03-21 4:57 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-20 11:41 [LSF/MM/BPF TOPIC] breaking the 512 KiB IO boundary on x86_64 Luis Chamberlain
2025-03-20 12:11 ` Matthew Wilcox
2025-03-20 13:29 ` Daniel Gomez
2025-03-20 14:31 ` Matthew Wilcox
2025-03-20 13:47 ` Daniel Gomez
2025-03-20 14:54 ` Christoph Hellwig
2025-03-21 9:14 ` Daniel Gomez
2025-03-20 14:18 ` Christoph Hellwig
2025-03-20 15:37 ` Bart Van Assche
2025-03-20 15:58 ` Keith Busch
2025-03-20 16:13 ` Kanchan Joshi
2025-03-20 16:38 ` Christoph Hellwig
2025-03-20 21:50 ` Luis Chamberlain
2025-03-20 21:46 ` Luis Chamberlain
2025-03-20 21:40 ` Luis Chamberlain
2025-03-20 18:46 ` Ritesh Harjani
2025-03-20 21:30 ` Darrick J. Wong
2025-03-21 2:13 ` Ritesh Harjani
2025-03-21 3:05 ` Darrick J. Wong
2025-03-21 4:56 ` Theodore Ts'o [this message]
2025-03-21 5:00 ` Christoph Hellwig
2025-03-21 18:39 ` Ritesh Harjani
2025-03-21 16:38 ` Keith Busch
2025-03-21 17:21 ` Ritesh Harjani
2025-03-21 18:55 ` Keith Busch
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=20250321045604.GA1161423@mit.edu \
--to=tytso@mit.edu \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=da.gomez@samsung.com \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=gost.dev@samsung.com \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=john.g.garry@oracle.com \
--cc=joro@8bytes.org \
--cc=kbusch@kernel.org \
--cc=leon@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=mcgrof@kernel.org \
--cc=p.raghav@samsung.com \
--cc=ritesh.list@gmail.com \
--cc=sagi@grimberg.me \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.