linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Jeff Mahoney <jeffm@suse.com>
Cc: Keith Busch <keith.busch@intel.com>,
	Ric Wheeler <ricwheeler@gmail.com>,
	Dave Chinner <david@fromorbit.com>,
	lsf-pc@lists.linux-foundation.org,
	linux-xfs <linux-xfs@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	linux-block@vger.kernel.org
Subject: Re: [LSF/MM TOPIC] More async operations for file systems - async discard?
Date: Thu, 21 Feb 2019 22:01:24 -0500	[thread overview]
Message-ID: <yq17edsil17.fsf@oracle.com> (raw)
In-Reply-To: <45c27fea-6d74-2adc-fe9d-e314ce4f3672@suse.com> (Jeff Mahoney's message of "Thu, 21 Feb 2019 18:55:05 -0500")


Jeff,

> We've always been told "don't worry about what the internal block size
> is, that only matters to the FTL."  That's obviously not true, but
> when devices only report a 512 byte granularity, we believe them and
> will issue discard for the smallest size that makes sense for the file
> system regardless of whether it makes sense (internally) for the SSD.
> That means 4k for pretty much anything except btrfs metadata nodes,
> which are 16k.

The devices are free to report a bigger discard granularity. We already
support and honor that (for SCSI, anyway). It's completely orthogonal to
reported the logical block size, although it obviously needs to be a
multiple.

The real problem is that vendors have zero interest in optimizing for
discard. They are so confident in their FTL and overprovisioning that
they don't view it as an important feature. At all.

Consequently, many of the modern devices that claim to support discard
to make us software folks happy (or to satisfy a purchase order
requirements) complete the commands without doing anything at all.
We're simply wasting queue slots.

Personally, I think discard is dead on anything but the cheapest
devices.  And on those it is probably going to be
performance-prohibitive to use it in any other way than a weekly fstrim.

-- 
Martin K. Petersen	Oracle Linux Engineering

  reply	other threads:[~2019-02-22  3:01 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-17 20:36 [LSF/MM TOPIC] More async operations for file systems - async discard? Ric Wheeler
2019-02-17 21:09 ` Dave Chinner
2019-02-17 23:42   ` Ric Wheeler
2019-02-18  2:22     ` Dave Chinner
2019-02-18 22:30       ` Ric Wheeler
2019-02-20 23:47     ` Keith Busch
2019-02-21 20:08       ` Dave Chinner
2019-02-21 23:55       ` Jeff Mahoney
2019-02-22  3:01         ` Martin K. Petersen [this message]
2019-02-22  6:15           ` Roman Mamedov
2019-02-22 14:12             ` Martin K. Petersen
2019-02-22  2:51       ` Martin K. Petersen
2019-02-22 16:45         ` Keith Busch
2019-02-27 11:40           ` Ric Wheeler
2019-02-27 13:24           ` Matthew Wilcox

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=yq17edsil17.fsf@oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=david@fromorbit.com \
    --cc=jeffm@suse.com \
    --cc=keith.busch@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=ricwheeler@gmail.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).