public inbox for [email protected]
 help / color / mirror / Atom feed
From: Hans Holmberg <[email protected]>
To: Keith Busch <[email protected]>
Cc: Christoph Hellwig <[email protected]>, Keith Busch <[email protected]>,
	[email protected],  [email protected],
	[email protected],  [email protected],
	[email protected], [email protected],
	 [email protected], [email protected],
	Hannes Reinecke <[email protected]>
Subject: Re: [PATCHv10 9/9] scsi: set permanent stream count in block limits
Date: Wed, 6 Nov 2024 15:26:25 +0100	[thread overview]
Message-ID: <CANr-nt0stXUn38EawwQPa+fGmgvHE7Ch8LH7tGyNp5NPpm1m0w@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>

On Fri, Nov 1, 2024 at 3:49 PM Keith Busch <[email protected]> wrote:
>
> On Fri, Nov 01, 2024 at 08:16:30AM +0100, Hans Holmberg wrote:
> > On Thu, Oct 31, 2024 at 3:06 PM Keith Busch <[email protected]> wrote:
> > > On Thu, Oct 31, 2024 at 09:19:51AM +0100, Hans Holmberg wrote:
> > > > No. The meta data IO is just 0.1% of all writes, so that we use a
> > > > separate device for that in the benchmark really does not matter.
> > >
> > > It's very little spatially, but they overwrite differently than other
> > > data, creating many small holes in large erase blocks.
> >
> > I don't really get how this could influence anything significantly.(If at all).
>
> Fill your filesystem to near capacity, then continue using it for a few
> months. While the filesystem will report some available space, there
> may not be many good blocks available to erase. Maybe.

For *this* benchmark workload, the metadata io is such a tiny fraction
so I doubt the impact on wa could be measured.
I completely agree it's a good idea to separate metadata from data
blocks in general. It is actually a good reason for letting the file
system control write stream allocation for all blocks :)

> > I believe it would be worthwhile to prototype active fdp data
> > placement in xfs and evaluate it. Happy to help out with that.
>
> When are we allowed to conclude evaluation? We have benefits my
> customers want on well tested kernels, and wish to proceed now.

Christoph has now wired up prototype support for FDP on top of the
xfs-rt-zoned work + this patch set, and I have had time to look over
it and started doing some testing on HW.
In addition to the FDP support, metadata can also be stored on the
same block device as the data.

Now that all placement handles are available, we can use the full data
separation capabilities of the underlying storage, so that's good.
We can map out the placement handles to different write streams much
like we assign open zones for zoned storage and this opens up for
supporting data placement heuristics for a wider range use cases (not
just the RocksDB use case discussed here).

The big pieces that are missing from the FDP plumbing as I see it is
the ability to read reclaim unit size and syncing up the remaining
capacity of the placement units with the file system allocation
groups, but I guess that can be added later.

I've started benchmarking on the hardware I have at hand, iterating on
a good workload configuration. It will take some time to get to some
robust write amp measurements since the drives are very big and
require a painfully long warmup time.

  reply	other threads:[~2024-11-06 14:26 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-29 15:19 [PATCHv10 0/9] write hints with nvme fdp, scsi streams Keith Busch
2024-10-29 15:19 ` [PATCHv10 1/9] block: use generic u16 for write hints Keith Busch
2024-10-29 17:21   ` Bart Van Assche
2024-10-29 15:19 ` [PATCHv10 2/9] block: introduce max_write_hints queue limit Keith Busch
2024-10-29 15:19 ` [PATCHv10 3/9] statx: add write hint information Keith Busch
2024-10-29 15:19 ` [PATCHv10 4/9] block: allow ability to limit partition write hints Keith Busch
2024-10-29 15:23   ` Christoph Hellwig
2024-10-29 17:25   ` Bart Van Assche
2024-10-30  4:46     ` Christoph Hellwig
2024-10-30 20:11       ` Keith Busch
2024-10-30 20:26         ` Bart Van Assche
2024-10-30 20:37           ` Keith Busch
2024-10-30 21:15             ` Bart Van Assche
2024-10-29 15:19 ` [PATCHv10 5/9] block, fs: add write hint to kiocb Keith Busch
2024-10-29 15:19 ` [PATCHv10 6/9] io_uring: enable per-io hinting capability Keith Busch
2024-11-07  2:09   ` Jens Axboe
2024-10-29 15:19 ` [PATCHv10 7/9] block: export placement hint feature Keith Busch
2024-10-29 15:19 ` [PATCHv10 8/9] nvme: enable FDP support Keith Busch
2024-10-30  0:24   ` Chaitanya Kulkarni
2024-10-29 15:19 ` [PATCHv10 9/9] scsi: set permanent stream count in block limits Keith Busch
2024-10-29 15:26   ` Christoph Hellwig
2024-10-29 15:34     ` Keith Busch
2024-10-29 15:37       ` Christoph Hellwig
2024-10-29 15:38         ` Keith Busch
2024-10-29 15:53           ` Christoph Hellwig
2024-10-29 16:22             ` Keith Busch
2024-10-30  4:55               ` Christoph Hellwig
2024-10-30 15:41                 ` Keith Busch
2024-10-30 15:45                   ` Christoph Hellwig
2024-10-30 15:48                     ` Keith Busch
2024-10-30 15:50                       ` Christoph Hellwig
2024-10-30 16:42                         ` Keith Busch
2024-10-30 16:57                           ` Christoph Hellwig
2024-10-30 17:05                             ` Keith Busch
2024-10-30 17:15                               ` Christoph Hellwig
2024-10-30 17:23                             ` Keith Busch
2024-10-30 22:32                             ` Keith Busch
2024-10-31  8:19                               ` Hans Holmberg
2024-10-31 13:02                                 ` Christoph Hellwig
2024-10-31 14:06                                 ` Keith Busch
2024-11-01  7:16                                   ` Hans Holmberg
2024-11-01  8:19                                     ` Javier González
2024-11-01 14:49                                     ` Keith Busch
2024-11-06 14:26                                       ` Hans Holmberg [this message]
2024-10-30 16:59                 ` Bart Van Assche
2024-10-30 17:14                   ` Christoph Hellwig
2024-10-30 17:44                     ` Bart Van Assche
2024-11-01  1:03                       ` Jaegeuk Kim
2024-10-29 17:18     ` Bart Van Assche
2024-10-30  5:42       ` Christoph Hellwig
2024-10-29 15:24 ` [PATCHv10 0/9] write hints with nvme fdp, scsi streams Christoph Hellwig
2024-11-05 15:50 ` Christoph Hellwig
2024-11-06 18:36   ` Keith Busch
2024-11-07 20:36   ` Keith Busch
2024-11-08 14:18     ` Christoph Hellwig
2024-11-08 15:51       ` Keith Busch
2024-11-08 16:54         ` Matthew Wilcox
2024-11-08 17:43           ` Javier Gonzalez
2024-11-08 18:51             ` Bart Van Assche
2024-11-11  9:31               ` Javier Gonzalez
2024-11-11 17:45                 ` Bart Van Assche
2024-11-12 13:52                   ` Nitesh Shetty
2024-11-19  2:03                     ` Martin K. Petersen
2024-11-11  6:51             ` Christoph Hellwig
2024-11-11  9:30               ` Javier Gonzalez
2024-11-11  9:37                 ` Johannes Thumshirn
2024-11-11  9:41                   ` Javier Gonzalez
2024-11-11  9:42                     ` hch
2024-11-11  9:43                     ` Johannes Thumshirn
2024-11-11 10:37                       ` Javier Gonzalez
2024-11-11  6:49           ` Christoph Hellwig
2024-11-11  6:48         ` Christoph Hellwig

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=CANr-nt0stXUn38EawwQPa+fGmgvHE7Ch8LH7tGyNp5NPpm1m0w@mail.gmail.com \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /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