lkml.org 
[lkml]   [2010]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Sync semantics.
On Thu, Nov 11, 2010 at 01:52:19PM +0100, Rogier Wolff wrote:
>
> Hi,
>
> What should I expect from a "sync" system call?
>
> The manual says:
>
> sync() first commits inodes to buffers, and then buffers to disk.
>
> and then goes on to state:
>
> ... since version 1.3.20 Linux does actually wait.
>
> [for the buffers to be handed over to the drive]
>
> So how long can I expect a "sync" call to take?
>
> I would expect that all buffers that are dirty at the time of the
> "sync" call are written by the time that sync returns. I'm currently
> bombarding my fileserver with some 40-60Mbytes per second of data to
> be written (*). The fileserver has 8G of memory. So max 8000 Mb of
> dirty buffers can be stored, right? The server writes an average of
> (at least) 40Mb/second to disk. According to my calculator, I will
> have to wait up to 200 seconds for the sync system call to return....
>
>
> # time sync
> 0.000u 0.220s 2:22:23.96 0.0% 0+0k 0+0io 2pf+0w

Depending on the kernel, sync will keep writing if you keep
dirtying. This should be mostly fixed in 2.6.36....

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com


\
 
 \ /
  Last update: 2010-11-15 03:43    [W:0.062 / U:0.708 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site