Messages in this thread | | | Subject | kupdate weirdness | From | Miklos Szeredi <> | Date | Wed, 01 Aug 2007 22:45:16 +0200 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |