Documenting MS_LAZYTIME

5 messages, 5 authors, 2015-02-22 · open the first message on its own page

Documenting MS_LAZYTIME

From: Michael Kerrisk <hidden>
Date: 2015-02-20 08:50:50

Hello Ted,

Based on your commit message 0ae45f63d4e, I I wrote the documentation
below for MS_LAZYTIME, to go into the mount(2) man page. Could you
please check it over and let me know if it's accurate. In particular,
I added pieces marked with "*" below that were not part of the commit
message and I'd like confirmation that they're accurate.

Thanks,

Michael

[[
       MS_LAZYTIME (since Linux 3.20)
              Only  update  filetimes (atime, mtime, ctime) on the in-
              memory version of the file  inode.   The  on-disk  time‐
              stamps are updated only when:

              (a)  the inode needs to be updated for some change unre‐
                   lated to file timestamps;

              (b)  the application  employs  fsync(2),  syncfs(2),  or
                   sync(2);

              (c)  an undeleted inode is evicted from memory; or

*             (d)  more than 24 hours have passed since the i-node was
*                  written to disk.

              This mount option significantly reduces  writes  to  the
              inode  table  for workloads that perform frequent random
              writes to preallocated files.

*             As at Linux 3.20, this option is supported only on ext4.
]]

-- 
Michael Kerrisk Linux man-pages maintainer;
http://www.kernel.org/doc/man-pages/
Author of "The Linux Programming Interface", http://blog.man7.org/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: Documenting MS_LAZYTIME

From: Eric Sandeen <hidden>
Date: 2015-02-20 15:49:34

On 2/20/15 2:50 AM, Michael Kerrisk wrote:
Hello Ted,

Based on your commit message 0ae45f63d4e, I I wrote the documentation
below for MS_LAZYTIME, to go into the mount(2) man page. Could you
please check it over and let me know if it's accurate. In particular,
I added pieces marked with "*" below that were not part of the commit
message and I'd like confirmation that they're accurate.

Thanks,

Michael

[[
       MS_LAZYTIME (since Linux 3.20)
              Only  update  filetimes (atime, mtime, ctime) on the in-
              memory version of the file  inode.   The  on-disk  time‐
              stamps are updated only when:
"filetimes" and "file inode" seems a bit awkward.  How about:
       MS_LAZYTIME (since Linux 3.20)
	Reduce on-disk updates of inode timestamps (atime, mtime, ctime)
		by maintaining these changes only in memory, unless:
(maybe I'm bike-shedding too much, if so, sorry).
              (a)  the inode needs to be updated for some change unre‐
                   lated to file timestamps;

              (b)  the application  employs  fsync(2),  syncfs(2),  or
                   sync(2);

              (c)  an undeleted inode is evicted from memory; or

*             (d)  more than 24 hours have passed since the i-node was
*                  written to disk.
Please don't use "i-node" - simply "inode" is much more common in the manpages
AFAICT.
              This mount option significantly reduces  writes  to  the
              inode  table  for workloads that perform frequent random
              writes to preallocated files.
This seems like an overly specific description of a single workload out
of many which may benefit, but what do others think?  "inode table" is also
fairly extN-specific.

-Eric
 
*             As at Linux 3.20, this option is supported only on ext4.
]]
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: Documenting MS_LAZYTIME

From: Theodore Ts'o <tytso@mit.edu>
Date: 2015-02-21 02:56:36

On Fri, Feb 20, 2015 at 09:49:34AM -0600, Eric Sandeen wrote:
quoted
              This mount option significantly reduces  writes  to  the
              inode  table  for workloads that perform frequent random
              writes to preallocated files.
This seems like an overly specific description of a single workload out
of many which may benefit, but what do others think?  "inode table" is also
fairly extN-specific.
How about somethign like "This mount significantly reduces writes
needed to update the inode's timestamps, especially mtime and actime.
Examples of workloads where this could be a large win include frequent
random writes to preallocated files, as well as cases where the
MS_STRICTATIME mount option is enabled."?

(The advantage of MS_STRICTATIME | MS_LAZYTIME is that stat system
calls will return the correctly updated atime, but those atime updates
won't get flushed to disk unless the inode needs to be updated for
file system / data consistency reasons, or when the inode is pushed
out of memory, or when the file system is unmounted.)

						- Ted

Re: Documenting MS_LAZYTIME

From: Michael Kerrisk (man-pages) <hidden>
Date: 2015-02-21 07:57:05

On 02/20/2015 04:49 PM, Eric Sandeen wrote:
On 2/20/15 2:50 AM, Michael Kerrisk wrote:
quoted
Hello Ted,

Based on your commit message 0ae45f63d4e, I I wrote the documentation
below for MS_LAZYTIME, to go into the mount(2) man page. Could you
please check it over and let me know if it's accurate. In particular,
I added pieces marked with "*" below that were not part of the commit
message and I'd like confirmation that they're accurate.

Thanks,

Michael

[[
       MS_LAZYTIME (since Linux 3.20)
              Only  update  filetimes (atime, mtime, ctime) on the in-
              memory version of the file  inode.   The  on-disk  time‐
              stamps are updated only when:
"filetimes" and "file inode" seems a bit awkward.  How about:
quoted
       MS_LAZYTIME (since Linux 3.20)
		Reduce on-disk updates of inode timestamps (atime, mtime, ctime)
		by maintaining these changes only in memory, unless:
(maybe I'm bike-shedding too much, if so, sorry).
Nah it''s the good sort of bikeshedding ;-). "filetimes" was a wordo--I 
meant "timestamps". I've taken your wording mostly.
quoted
              (a)  the inode needs to be updated for some change unre‐
                   lated to file timestamps;

              (b)  the application  employs  fsync(2),  syncfs(2),  or
                   sync(2);

              (c)  an undeleted inode is evicted from memory; or

*             (d)  more than 24 hours have passed since the i-node was
*                  written to disk.
Please don't use "i-node" - simply "inode" is much more common in the manpages
AFAICT.
Yup, that was a typo. Fixed.
quoted
              This mount option significantly reduces  writes  to  the
              inode  table  for workloads that perform frequent random
              writes to preallocated files.
This seems like an overly specific description of a single workload out
of many which may benefit, but what do others think?  
Fair enough. I reworded that to note it as an example.
"inode table" is also fairly extN-specific.
I'll await further input on that point.

Now we have:

       MS_LAZYTIME (since Linux 3.20)
              Reduce  on-disk  updates  of  inode  timestamps  (atime,
              mtime, ctime) by maintaining these changes only in  mem‐
              ory.  The on-disk timestamps are updated only when:

              (a)  the inode needs to be updated for some change unre‐
                   lated to file timestamps;

              (b)  the application  employs  fsync(2),  syncfs(2),  or
                   sync(2);

              (c)  an undeleted inode is evicted from memory; or

              (d)  more  than 24 hours have passed since the inode was
                   written to disk.

              This mount option significantly reduces  writes  to  the
              inode  table  for  some workloads (e.g., when performing
              frequent random writes to preallocated files).

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

Re: Documenting MS_LAZYTIME

From: Robert White <hidden>
Date: 2015-02-22 18:30:15

On 02/20/2015 12:50 AM, Michael Kerrisk wrote:
*             As at Linux 3.20, this option is supported only on ext4.
"As of Linux 3.20" is more correct.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help