Messages in this thread | | | Date | Wed, 16 Feb 2011 15:35:30 +0100 | From | Jan Kara <> | Subject | Re: ext2 write performance regression from 2.6.32 |
| |
On Wed 16-02-11 17:40:31, Feng Tang wrote: > Hi, > > I made out a debug patch which try to delay the pure FS metadata writeback > (maxim 30 seconds to match current writeback expire time). It works for me > on 2.6.32, and the dd performance is restored. > > Please help to review it, thanks! > > btw, I've sent out the block dump info requested by Jan Kara, but didn't see > it on LKML, so attached them again. > > - Feng > > From c35548c7d0c3a334d24c26adab277ef62b9825db Mon Sep 17 00:00:00 2001 > From: Feng Tang <feng.tang@intel.com> > Date: Wed, 16 Feb 2011 17:27:36 +0800 > Subject: [PATCH] writeback: delay the file system metadata writeback in 30 seconds > > Signed-off-by: Feng Tang <feng.tang@intel.com> > --- > fs/fs-writeback.c | 10 ++++++++++ > 1 files changed, 10 insertions(+), 0 deletions(-) > > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c > index 9d5360c..418fd9e 100644 > --- a/fs/fs-writeback.c > +++ b/fs/fs-writeback.c > @@ -635,6 +635,16 @@ static void writeback_inodes_wb(struct bdi_writeback *wb, > continue; > } > > + if ((wbc->sync_mode != WB_SYNC_ALL) > + && !inode->i_ino > + && !strcmp(inode->i_sb->s_id, "bdev")) { > + if (inode->dirtied_when + 30 * HZ > jiffies) { > + list_move(&inode->i_list, &wb->b_dirty); > + continue; > + } > + } > + > + Doh, this is a crude hack! Nice for debugging but no way to get this into the kernel. We have to find a cleaner way to speedup the writeback...
Honza -- Jan Kara <jack@suse.cz> SUSE Labs, CR
| |