public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* kupdate weirdness
@ 2007-08-01 20:45 Miklos Szeredi
  2007-08-01 21:14 ` Andrew Morton
  2007-08-02  1:53 ` kupdate weirdness David Chinner
  0 siblings, 2 replies; 9+ messages in thread
From: Miklos Szeredi @ 2007-08-01 20:45 UTC (permalink / raw)
  To: linux-kernel; +Cc: akpm, linux-fsdevel

The following strange behavior can be observed:

1. large file is written
2. after 30 seconds, nr_dirty goes down by 1024
3. then for some time (< 30 sec) nothing happens (disk idle)
4. then nr_dirty again goes down by 1024
5. repeat from 3. until whole file is written

So basically a 4Mbyte chunk of the file is written every 30 seconds.
I'm quite sure this is not the intended behavior.

The reason seems to be that __sync_single_inode() will move the
partially written inode from s_io onto s_dirty, and sync_sb_inode()
will not splice it back onto s_io until the rest of the inodes on s_io
has been processed.

Since there will probably be a recently dirtied inode on s_io, this
will take some of time, but always less than 30 sec.

I don't know what's the easiest solution.

Any ideas?

Miklos

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2007-08-03  7:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-01 20:45 kupdate weirdness Miklos Szeredi
2007-08-01 21:14 ` Andrew Morton
2007-08-02 15:52   ` Miklos Szeredi
2007-08-02 19:18     ` Andrew Morton
2007-08-02 19:35       ` Miklos Szeredi
     [not found]         ` <1186091062.11797.34.camel@lappy>
2007-08-03  6:43           ` per bdi dirty balancing (was Re: kupdate weirdness) Miklos Szeredi
2007-08-03  7:15             ` Peter Zijlstra
2007-08-03  7:41               ` Miklos Szeredi
2007-08-02  1:53 ` kupdate weirdness David Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox