On Thu, Jun 09, 2011 at 10:12:38PM +0800, Tao Ma wrote: > Just want to say more about the situation here. Actually the flusher is > too much easier to be blocked by the sync requests. And whenever it is > blocked, it takes a quite long time to get back(because several cfq > designs), so do you think we can use WRITE_SYNC for the bdev inodes in > flusher? AFAICS, in most of the cases when a volume is mounted, the > writeback for a bdev inode means the metadata writeback. And they are > very important for a file system and should be written as far as > possible. I ran my test cases with the change, and now the livelock > doesn't show up anymore. It's not a very good guestimate for metadata. A lot of metadata is either stored in directories (often happens for directories) or doesn't use the pagecache writeback functions at all. The major problem here seems to be that async requests simply starve sync requests far too much. -- 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