From: Christoph Hellwig <hch@lst.de>
To: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Keith Busch <kbusch@kernel.org>,
Kanchan Joshi <joshi.k@samsung.com>,
hare@suse.de, sagi@grimberg.me, brauner@kernel.org,
viro@zeniv.linux.org.uk, jack@suse.cz, jaegeuk@kernel.org,
bcrl@kvack.org, dhowells@redhat.com, bvanassche@acm.org,
asml.silence@gmail.com, linux-nvme@lists.infradead.org,
linux-fsdevel@vger.kernel.org, io-uring@vger.kernel.org,
linux-block@vger.kernel.org, linux-aio@kvack.org,
gost.dev@samsung.com, vishak.g@samsung.com,
javier.gonz@samsung.com
Subject: Re: [PATCH v7 0/3] FDP and per-io hints
Date: Fri, 4 Oct 2024 07:31:21 +0200 [thread overview]
Message-ID: <20241004053121.GB14265@lst.de> (raw)
In-Reply-To: <c68fef87-288a-42c7-9185-8ac173962838@kernel.dk>
On Thu, Oct 03, 2024 at 04:14:57PM -0600, Jens Axboe wrote:
> On 10/3/24 6:54 AM, Christoph Hellwig wrote:
> > For file: yes. The problem is when you have more files than buckets on
> > the device or file systems. Typical enterprise SSDs support somewhere
> > between 8 and 16 write streams, and there typically is more data than
> > that. So trying to group it somehow is good idea as not all files can
> > have their own bucket.
> >
> > Allowing this inside a file like done in this patch set on the other
> > hand is pretty crazy.
>
> I do agree that per-file hints are not ideal. In the spirit of making
> some progress, how about we just retain per-io hints initially? We can
> certainly make that work over dio. Yes buffered IO won't work initially,
> but at least we're getting somewhere.
Huh? Per I/O hints at the syscall level are the problem (see also the
reply from Martin). Per file make total sense, but we need the file
system in control.
The real problem is further down the stack. For the SCSI temperature
hints just passing them on make sense. But when you map to some kind
of stream separation in the device, no matter if that is streams, FDP,
or various kinds of streams we don't even support in thing like CF
and SDcard, the driver is not the right place to map temperature hint
to streams. The requires some kind of intelligence. It could be
dirt simple and just do a best effort mapping of the temperature
hints 1:1 to separate write streams, or do a little mapping if there
is not enough of them which should work fine for a raw block device.
But one we have a file system things get more complicated:
- the file system will want it's own streams for metadata and GC
- even with that on beefy enough hardware you can have more streams
then temperature levels, and the file system can and should
do intelligen placement (based usually on files)
Or to summarize: the per-file temperature hints make sense as a user
interface. Per-I/O hints tend to be really messy at least if a file
system is involved. Placing the temperatures to separate write streams
in the driver does not scale even to the most trivial write stream
aware file system implementations.
And for anyone who followed the previous discussions of the patches
none of this should been new, each point has been made at least three
times before.
next prev parent reply other threads:[~2024-10-04 5:31 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240930182052epcas5p37edefa7556b87c3fbb543275756ac736@epcas5p3.samsung.com>
2024-09-30 18:13 ` [PATCH v7 0/3] FDP and per-io hints Kanchan Joshi
[not found] ` <CGME20240930182056epcas5p33f823c00caadf9388b509bafcad86f3d@epcas5p3.samsung.com>
2024-09-30 18:13 ` [PATCH v7 1/3] nvme: enable FDP support Kanchan Joshi
2024-10-02 18:37 ` Bart Van Assche
2024-10-03 12:55 ` Christoph Hellwig
[not found] ` <CGME20240930182100epcas5p31a010c225f3c76aa4dc54fced32abd2a@epcas5p3.samsung.com>
2024-09-30 18:13 ` [PATCH v7 2/3] block, fs: restore kiocb based write hint processing Kanchan Joshi
[not found] ` <CGME20240930182103epcas5p4c9e91ca3cdf20e900b1425ae45fef81d@epcas5p4.samsung.com>
2024-09-30 18:13 ` [PATCH v7 3/3] io_uring: enable per-io hinting capability Kanchan Joshi
2024-10-02 14:26 ` Pavel Begunkov
2024-10-17 14:58 ` Kanchan Joshi
2024-10-02 18:29 ` Bart Van Assche
2024-10-01 9:20 ` [PATCH v7 0/3] FDP and per-io hints Christoph Hellwig
2024-10-01 15:58 ` James R. Bergsten
2024-10-01 16:18 ` Jens Axboe
2024-10-02 7:51 ` Christoph Hellwig
2024-10-02 15:03 ` Jens Axboe
2024-10-02 15:13 ` Christoph Hellwig
2024-10-02 15:17 ` Keith Busch
2024-10-02 15:19 ` Christoph Hellwig
2024-10-02 15:33 ` Keith Busch
2024-10-03 12:51 ` Christoph Hellwig
2024-10-02 15:47 ` Martin K. Petersen
2024-10-02 18:34 ` Bart Van Assche
2024-10-03 12:55 ` Christoph Hellwig
2024-10-03 21:48 ` Keith Busch
2024-10-03 22:00 ` Bart Van Assche
2024-10-03 22:12 ` Jens Axboe
2024-10-03 22:17 ` Keith Busch
2024-10-04 6:21 ` Javier González
2024-10-04 6:24 ` Christoph Hellwig
2024-10-04 6:59 ` Javier González
2024-10-04 12:32 ` Christoph Hellwig
2024-10-07 11:29 ` Javier González
2024-10-08 12:27 ` Christoph Hellwig
2024-10-03 12:54 ` Christoph Hellwig
2024-10-03 22:14 ` Jens Axboe
2024-10-04 5:31 ` Christoph Hellwig [this message]
2024-10-04 6:18 ` Javier González
2024-10-04 6:27 ` Christoph Hellwig
2024-10-04 6:52 ` Javier González
2024-10-04 12:30 ` Christoph Hellwig
2024-10-07 10:10 ` Javier González
2024-10-08 10:06 ` Hans Holmberg
2024-10-09 14:36 ` Javier Gonzalez
2024-10-10 6:40 ` Hans Holmberg
2024-10-10 7:13 ` Javier Gonzalez
2024-10-10 9:20 ` Christoph Hellwig
2024-10-10 12:22 ` Javier Gonzalez
2024-10-11 8:56 ` Christoph Hellwig
2024-10-11 12:21 ` Javier Gonzalez
2024-10-11 16:59 ` Keith Busch
2024-10-10 10:46 ` Hans Holmberg
[not found] ` <CGME20241010122734eucas1p1e20a5263a4d69db81b50b8b03608fad1@eucas1p1.samsung.com>
2024-10-10 12:27 ` Javier Gonzalez
2024-10-11 8:59 ` Christoph Hellwig
2024-10-08 12:25 ` Christoph Hellwig
2024-10-08 14:44 ` Keith Busch
2024-10-09 9:28 ` Christoph Hellwig
2024-10-09 15:06 ` Keith Busch
[not found] ` <CGME20241010070738eucas1p2057209e5f669f37ca586ad4a619289ed@eucas1p2.samsung.com>
2024-10-10 7:07 ` Javier González
2024-10-10 9:13 ` Christoph Hellwig
2024-10-10 11:59 ` Javier González
2024-10-11 9:02 ` Christoph Hellwig
2024-10-11 17:08 ` Jens Axboe
2024-10-14 6:21 ` Christoph Hellwig
2024-10-14 7:02 ` Javier Gonzalez
2024-10-14 7:47 ` Christoph Hellwig
2024-10-14 9:08 ` Javier Gonzalez
2024-10-14 11:50 ` Christoph Hellwig
2024-10-15 3:07 ` Javier Gonzalez
2024-10-15 5:30 ` Christoph Hellwig
2024-10-10 9:10 ` Christoph Hellwig
2024-10-09 16:28 ` Nitesh Shetty
2024-10-02 15:22 ` Jens Axboe
2024-10-01 16:23 ` Keith Busch
2024-10-02 7:49 ` Christoph Hellwig
2024-10-02 14:56 ` Keith Busch
2024-10-02 15:00 ` Jens Axboe
2024-10-03 0:20 ` Bart Van Assche
2024-10-15 5:50 ` Christoph Hellwig
2024-10-15 15:09 ` Keith Busch
2024-10-15 15:22 ` Christoph Hellwig
2024-10-17 14:35 ` Kanchan Joshi
2024-10-17 15:23 ` Christoph Hellwig
2024-10-17 15:44 ` Keith Busch
2024-10-17 15:46 ` Christoph Hellwig
2024-10-17 16:06 ` Keith Busch
2024-10-17 16:15 ` Bart Van Assche
2024-10-17 16:23 ` 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=20241004053121.GB14265@lst.de \
--to=hch@lst.de \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=bcrl@kvack.org \
--cc=brauner@kernel.org \
--cc=bvanassche@acm.org \
--cc=dhowells@redhat.com \
--cc=gost.dev@samsung.com \
--cc=hare@suse.de \
--cc=io-uring@vger.kernel.org \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=javier.gonz@samsung.com \
--cc=joshi.k@samsung.com \
--cc=kbusch@kernel.org \
--cc=linux-aio@kvack.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=martin.petersen@oracle.com \
--cc=sagi@grimberg.me \
--cc=viro@zeniv.linux.org.uk \
--cc=vishak.g@samsung.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;
as well as URLs for NNTP newsgroup(s).