Re: fsync delays for a long time.

Andrew Morton
2002-02-14T20:55:33Z

Alan Cox wrote:
>
> > run my gdbm application and bonnie test on the same device.
> > When gdbm comes to the point when it calls fsync it delays for a long
> > time.
>
> fsync on a very large file is very slow on the 2.2 kernels

This could very well be due to request allocation starvation.
fsync is sleeping in __get_request_wait() while bonnie keeps
on stealing all the requests.

Recall that patch you dropped on Tuesday? :)

> > result. IDE is even worse in our case. In the discussion it was also said
> > that fsync for 2.4.x is modified. But does it fix a problem?
>
> 2.4 is a lot smarter about flushing only the things it needs to. That
> makes it dependant on the number of blocks to write not some embarrasingly
> large power of the file size

OBTW: It seems that fsync_inode_data_buffers() will livelock if
another process is writing to the same file. gargh.

-