linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Freemyer <greg.freemyer@gmail.com>
To: Matthew Wilcox <matthew@wil.cx>
Cc: Theodore Tso <tytso@mit.edu>, Ric Wheeler <rwheeler@redhat.com>,
	"J?rn Engel" <joern@logfs.org>,
	Matthew Wilcox <willy@linux.intel.com>,
	Jens Axboe <jens.axboe@oracle.com>,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	Linux RAID <linux-raid@vger.kernel.org>
Subject: Re: Is TRIM/DISCARD going to be a performance problem?
Date: Mon, 11 May 2009 14:47:30 -0400	[thread overview]
Message-ID: <87f94c370905111147t77250b92pc511ef9c6c0e7e42@mail.gmail.com> (raw)
In-Reply-To: <20090511150040.GF8112@parisc-linux.org>

On Mon, May 11, 2009 at 11:00 AM, Matthew Wilcox <matthew@wil.cx> wrote:
> On Mon, May 11, 2009 at 10:50:59AM -0400, Theodore Tso wrote:
>> On Mon, May 11, 2009 at 10:29:51AM -0400, Ric Wheeler wrote:
>> > The key is not at the FS layer - this is an issue for people who RAID
>> > these beasts together and want to actually check that the bits are what
>> > they should be (say doing a checksum validity check for a stripe).
>>
>> Good point, yes I can see why they need that.  In that case, the
>> storage device can't just silently truncate a TRIM request; it would
>> have to expose to the OS its alignment requirements.  The risk though
>> is that more they try push this compleixity into the OS, the higher
>> the risk that the OS will simply decide not to take advantage of the
>> functionality.  Of course, there is the question why anyone would want
>> to build a software-raid device on top of a thin-provisioned hardware
>> storage unit.  :-)
>
> It's not a problem for people who use Thin Provisioning, it's a problem
> for people who want to run RAID-5 on top of SSDs.  If you have a sector
> whose reads are indeterminate, your parity for that stripe will always
> be wrong.

Thus my understanding that entire stripe will either be discarded or
not by the mdraid layer.

And if a discard comes along from above that is smaller than a stripe,
then it will tossed by the mdraid layer.

And if it is not aligned to the stripe geometry, then the start/end of
the discard area will be adjusted to be stripe aligned.

And since the mdraid layer is not currently planning to track what has
been discarded over time, when a re-shape comes along, it will
effectively un-trim everything and rewrite 100% of the FS.

The same thing will happen if a drive is cloned via dd as happens
pretty routinely.

Overall, I think Linux will need a mechanism to scan a filesystem and
re-issue all the trim commands in order to get the hardware back in
sync a major maintenance activity.  That mechanism could either be
admin invoked.or a always on maintenance task.

Personally, I think the best option is a background task (kernel I
assume) to scan the filesystem and issue discards for all the data on
a slow but steady basis.  If it takes a week to make its way around
the disk/volume, then it takes a week.  Who really cares.

Once you assume you have that background task in place, I'm not sure
how important it is to even have the filesystem manage this in
realtime with the file deletes.

Greg
-- 
Greg Freemyer
Head of EDD Tape Extraction and Processing team
Litigation Triage Solutions Specialist
http://www.linkedin.com/in/gregfreemyer
First 99 Days Litigation White Paper -
http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf

The Norcross Group
The Intersection of Evidence & Technology
http://www.norcrossgroup.com
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-05-11 18:47 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-09 21:14 Is TRIM/DISCARD going to be a performance problem? Theodore Ts'o
2009-05-10 16:53 ` Jörn Engel
2009-05-11  8:37   ` Theodore Tso
2009-05-11 10:06     ` Jörn Engel
2009-05-11 10:18       ` Jens Axboe
2009-05-11 15:43         ` Jeff Garzik
2009-05-11 11:27       ` Theodore Tso
2009-05-11 12:09         ` Theodore Tso
2009-05-11 13:10           ` Greg Freemyer
2009-05-11 13:39             ` Matthew Wilcox
2009-05-11 14:27             ` Theodore Tso
2009-05-11 14:29               ` Ric Wheeler
2009-05-11 14:50                 ` Theodore Tso
2009-05-11 14:58                   ` Ric Wheeler
2009-05-11 15:00                   ` Matthew Wilcox
2009-05-11 18:47                     ` Greg Freemyer [this message]
2009-05-11 19:22                       ` Andreas Dilger
2009-05-11 23:38                       ` Neil Brown
2009-05-12 13:28                         ` Greg Freemyer
2009-05-11 13:15           ` Ric Wheeler
2010-04-24 17:11           ` Phillip Susi
2009-05-11 12:43         ` Jörn Engel
2009-05-11 12:48           ` Matthew Wilcox
     [not found]             ` <f3177b9e0905111433i40e41c90r920d7ccf36442ffd@mail.gmail.com>
2009-05-11 22:03               ` Chris Worley
2009-05-11 16:30       ` Chris Worley
2009-05-11  8:12 ` Jens Axboe
2009-05-11  8:41   ` Theodore Tso
2009-05-11  8:49     ` Jens Axboe
2009-05-11 17:18     ` Chris Mason
2009-05-11 18:43       ` Matthew Wilcox
2009-05-11 18:53         ` Chris Mason
2009-05-11 19:19           ` Theodore Tso
2009-05-29 10:52         ` Florian Weimer

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=87f94c370905111147t77250b92pc511ef9c6c0e7e42@mail.gmail.com \
    --to=greg.freemyer@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=joern@logfs.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=rwheeler@redhat.com \
    --cc=tytso@mit.edu \
    --cc=willy@linux.intel.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).