linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Austin S. Hemmelgarn" <ahferroin7@gmail.com>
To: Nazar Mokrynskyi <nazar@mokrynskyi.com>, linux-btrfs@vger.kernel.org
Subject: Re: Major HDD performance degradation on btrfs receive
Date: Tue, 23 Feb 2016 13:09:57 -0500	[thread overview]
Message-ID: <56CCA075.8020409@gmail.com> (raw)
In-Reply-To: <5ca0c6e3-624e-ebc9-045b-09c5fba9f9a8@mokrynskyi.com>

On 2016-02-23 12:34, Nazar Mokrynskyi wrote:
> Wow, this is interesting, didn't know it.
>
> I'll probably try noatime instead:)
>
For what it's worth, due to how it's implemented on almost every UNIX 
derived system in existence (including Linux), atimes are essentially 
useless.  A majority of the software that has used them over the years 
has mad the flawed assumption that the atime only gets updated when the 
file data is read or modified, when they actually get updated when ever 
the file data is read or modified, and when the metadata is modified 
(and in some old UNIX systems, the update on file data modification was 
simply implemented as a cascade effect from the mtime getting updated). 
  Mutt is one of the only publicly available programs I know of that 
uses them, and it makes this same flawed assumption.  The only software 
I know of that uses them right is tmpwatch and tmpreaper, which use them 
to clean up /tmp and similar directories when files there haven't been 
touched in a long time, and even those have the option to not use atimes.

Now, long rant aside, you may want to also look into the 'lazytime' 
mount option.  It won't reduce fragmentation, but it should improve 
performance overall, the only downsides are that mtimes might be 
incorrect after a crash, and it's only available in newer kernels (I 
think it got added in 4.0 or 4.1, but I'm not certain).

  reply	other threads:[~2016-02-23 18:10 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22 19:58 Major HDD performance degradation on btrfs receive Nazar Mokrynskyi
2016-02-22 23:30 ` Duncan
2016-02-23 17:26   ` Marc MERLIN
2016-02-23 17:34     ` Marc MERLIN
2016-02-23 18:01       ` Lionel Bouton
2016-02-23 18:30         ` Marc MERLIN
2016-02-23 20:35           ` Lionel Bouton
2016-02-24 10:01     ` Patrik Lundquist
2016-02-23 16:55 ` Nazar Mokrynskyi
2016-02-23 17:05   ` Alexander Fougner
2016-02-23 17:18     ` Nazar Mokrynskyi
2016-02-23 17:29       ` Alexander Fougner
2016-02-23 17:34         ` Nazar Mokrynskyi
2016-02-23 18:09           ` Austin S. Hemmelgarn [this message]
2016-02-23 17:44 ` Nazar Mokrynskyi
2016-02-24 22:32   ` Henk Slager
2016-02-24 22:46     ` Nazar Mokrynskyi
     [not found]     ` <ce805cd7-422c-ab6a-fbf8-18a304aa640d@mokrynskyi.com>
2016-02-25  1:04       ` Henk Slager
2016-03-15  0:47         ` Nazar Mokrynskyi
2016-03-15 23:11           ` Henk Slager
2016-03-16  3:37             ` Nazar Mokrynskyi
2016-03-16  4:18               ` Chris Murphy
2016-03-16  4:23                 ` Nazar Mokrynskyi
2016-03-16  6:51                   ` Chris Murphy
2016-03-16 11:53                     ` Austin S. Hemmelgarn
2016-03-16 20:58                       ` Chris Murphy
2016-03-16  4:22               ` Chris Murphy
2016-03-17  7:00               ` Duncan
2016-03-18 14:22                 ` Nazar Mokrynskyi
2016-05-27  1:57                   ` Nazar Mokrynskyi
  -- strict thread matches above, loose matches on Subject: below --
2016-02-22 19:39 Nazar Mokrynskyi
2016-02-16  4:44 Nazar Mokrynskyi
2016-02-16  9:10 ` Duncan
2016-02-18 18:19 ` Henk Slager

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=56CCA075.8020409@gmail.com \
    --to=ahferroin7@gmail.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=nazar@mokrynskyi.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).