[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1IGL4G-00088R-00@dorka.pomaz.szeredi.hu>
Date: Wed, 01 Aug 2007 22:45:16 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: linux-kernel@...r.kernel.org
CC: akpm@...ux-foundation.org, linux-fsdevel@...r.kernel.org
Subject: kupdate weirdness
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists