Slashdot Mirror


Replacing Atime With Relatime in the Kernel

eldavojohn writes "Our friend Jeremy at the Kernal Trap has dug up some interesting criticism of atime from Linus Torvalds. As Linus submitted patches to improve relatime he noted: 'I cannot over-emphasize how much of a deal it is in practice. Atime updates are by far the biggest IO performance deficiency that Linux has today. Getting rid of atime updates would give us more everyday Linux performance than all the pagecache speedups of the past 10 years, _combined_.' And later severely beat atime about the head with a pointed stick: 'It's also perhaps the most stupid Unix design idea of all times. Unix is really nice and well done, but think about this a bit: 'For every file that is read from the disk, lets do a ... write to the disk! And, for every file that is already cached and which we read from the cache ... do a write to the disk!'" Well, I guess I can expect my Linux machine to become a little bit faster!"

6 of 416 comments (clear)

  1. Probably overblown by jimicus · · Score: 4, Insightful

    Seriously. Many have recommended mounting filesystems with the "noatime" parameter if you don't need to know atime for many years now,

    1. Re:Probably overblown by Fred+Ferrigno · · Score: 4, Insightful

      That's a really silly question to ask the user at install. If you had to answer all questions of that level of significance, it would take forever. ("Do you want version 0.8.5 of this library or 0.9.1? 0.9.1 has more features but is less compatible...") Let the distro pick a sensible default and have users who know or care about it change it later for themselves.

      The only real question is whether noatime or relatime make for a more sensible default.

  2. atime vs ctime by Intron · · Score: 5, Insightful

    Amazingly, standard Unix filesystems keep time of last access (atime), change of status (ctime), and file modification (mtime) but do not remember when the file was first created, which is something I have frequently wished for.

    --
    Intron: the portion of DNA which expresses nothing useful.
  3. Re:Ummm.. by mikeee · · Score: 4, Insightful

    Deferred, maybe, but not for more than a few seconds, and when it happens it means more disk seeks...

    It's long been standard practice to disable this on, eg, news/mail spools (anything with large numbers of read-mostly small files). The new plan of, if I understand correctly, only updating atime when the file is modified or if the new atime is more than 24 hours after the current atime should provide nearly the same functionality with practically none of the performance hit.

  4. Re:Ummm.. by vidarh · · Score: 5, Insightful
    People are using Mutt because it works and has the features lots of people needs. I have to question why people keep upgrading just for the sake of it. As for an event system, Linux has had that too for ages - search for dnotify and inotify.

    However Mutt's use of atime simply is cheap enough that there's simply never been a reason to change it all the time most people have had atime updates on anyway. If it ain't broke, don't fix it.

  5. NTFS by inKubus · · Score: 3, Insightful
    NTFS has last access also (on by default).

    You can disable it in a few different ways

    fsutil behavior set disablelastaccess 1
    Once this is done, the Last Access Time attribute for newly created files will simply be their File Creation Time. Disabling Last Access Time may affect the operation of backup programs that use the Remote Storage service. YMMV

    Or there's a registry key, which requires a reboot:

    System Key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contr ol\FileSystem]
    Value Name: NtfsDisableLastAccessUpdate
    Data Type: REG_DWORD (DWORD Value)
    Value Data: (0 = disable, 1 = enable)
    --
    Cool! Amazing Toys.