linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin <m_btrfs@ml1.co.uk>
To: linux-btrfs@vger.kernel.org
Subject: Re: SSD format/mount parameters questions
Date: Tue, 22 May 2012 22:30:34 +0100	[thread overview]
Message-ID: <jph0hq$r2r$1@dough.gmane.org> (raw)
In-Reply-To: <201205191936.36655.Martin@lichtvoll.de>

On 19/05/12 18:36, Martin Steigerwald wrote:
> Am Freitag, 18. Mai 2012 schrieb Sander:
>> Martin wrote (ao):
>>> Are there any format/mount parameters that should be set for using
>>> btrfs on SSDs (other than the "ssd" mount option)?
>>
>> If possible, format the whole device, do not partition the ssd. This
>> will guarantee proper allignment.
> 
> Current partitioning tools align at 1 MiB unless otherwise specified.
> 
> And then thats only the alignment of the start of the filesystem.
> 
> Not the granularity that the filesystem itself uses to align its writes.
> 
> And then its not clear to me what effect proper alignment will actually 
> have given the intelligent nature of SSD firmwares.

That's what I'm trying to untangle rather than just trusting to "magic".
I'm also not so convinced about the "SSD firmwares" being quite so
"intelligent"...


So far, the only clear indications are that a number of SSDs have a
performance 'sweet spot' when you use 16kByte blocks for data transfer.

Practicalities for the SSD internal structure strongly suggest that they
work in chunks of data greater than 4kBytes.

4kByte operation is a strong driver for SSD manufacturers, but what
compromises do they make to accommodate that?


And for btrfs:

Extents are aligned to "sector size" boundaries (4kBytes default).

And there is a comment that setting larger sector sizes increases the
CPU overhead in btrfs due to the larger memory moves needed for making
inserts into the trees.

If the SSD is going to do a read-modify-write on anything smaller than
16kBytes in any case, might btrfs just as well use that chunk size to
good advantage in the first place?

So, what is most significant?


Also:

btrfs has a big advantage of using checksumming and COW. However, ext4
is more mature, similarly uses extents, and also allows specifying a
large "delayed allocation" time to merge multiple writes if you're happy
your system is safely on a UPS...


I'm not too worried about this for MLC SSDs, but it is something that is
of concern for the yet shorter modify-erase count lifespan of TLC SSDs.


Regards,
Martin


      reply	other threads:[~2012-05-22 21:30 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-17 14:45 SSD format/mount parameters questions Martin
2012-05-18  7:02 ` Sander
2012-05-18 15:08   ` Clemens Eisserer
2012-05-18 15:32     ` Tomasz Torcz
2012-05-18 16:09       ` Calvin Walton
2012-05-19 17:36   ` Martin Steigerwald
2012-05-22 21:30     ` Martin [this message]

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='jph0hq$r2r$1@dough.gmane.org' \
    --to=m_btrfs@ml1.co.uk \
    --cc=linux-btrfs@vger.kernel.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 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).