On Wed, 08 Jun 2011 05:32:38 +0800 Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote: > Explicitly update .dirtied_when on synced inodes, so that they are no > longer considered for writeback in the next round. It sounds like this somewhat answers my questions for [1/15]. But I'm not seeing a description of exactly what caused the livelock. > We'll do more aggressive "keep writeback as long as we wrote something" > logic in wb_writeback(). The "use LONG_MAX .nr_to_write" trick in commit > b9543dac5bbc ("writeback: avoid livelocking WB_SYNC_ALL writeback") will > no longer be enough to stop sync livelock. > > It can prevent both of the following livelock schemes: > > - while true; do echo data >> f; done > - while true; do touch f; done You're kidding. This livelocks sync(1)? When did we break this? Why is this? Because the inode keeps on getting rotated to head-of-list? -- 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