Re: [PATCH] fs: Fix busyloop in wb_writeback()

From: Jens Axboe
Date: Wed Sep 16 2009 - 14:41:19 EST


On Wed, Sep 16 2009, Jan Kara wrote:
> If all inodes are under writeback (e.g. in case when there's only one inode
> with dirty pages), wb_writeback() with WB_SYNC_NONE work basically degrades
> to busylooping until I_SYNC flags of the inode is cleared. Fix the problem by
> waiting on I_SYNC flags of an inode on b_more_io list in case we failed to
> write anything.

Interesting, so this will happen if the dirtier and flush thread end up
"fighting" each other over the same inode. I'll throw this into the
testing mix.

How did you notice?

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/