Christoph, On Fri, Jul 29, 2011 at 12:41:05AM +0800, Christoph Hellwig wrote: > Current mainline hangs in xfstests 073, which does heavy I/O on a loop > device. Bisection points to "writeback: remove writeback_control.more_io" > as a likely culprit. I cannot reproduce the bug. However looking through the code, I find the only possible place that may keep wb_writeback() looping with wb->list_lock grabbed is the below requeue_io() call. Would you try the patch? Note that even if it fixed the soft lockup, it may not be suitable as the final fix. Thanks, Fengguang --- --- linux.orig/fs/fs-writeback.c 2011-07-29 22:14:18.000000000 +0800 +++ linux/fs/fs-writeback.c 2011-07-29 22:14:24.000000000 +0800 @@ -618,7 +618,7 @@ static long __writeback_inodes_wb(struct struct super_block *sb = inode->i_sb; if (!grab_super_passive(sb)) { - requeue_io(inode, wb); + redirty_tail(inode, wb); continue; } wrote += writeback_sb_inodes(sb, wb, work); -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html