2009/10/7 Wu Fengguang <fengguang.wu@xxxxxxxxx>: [...] > + if (bdi_cap_writeback_dirty(mapping->backing_dev_info) && > + !mapping->a_ops->writepages) { > + wbc.range_start = (page->index + 1) << PAGE_CACHE_SHIFT; > + wbc.nr_to_write = LUMPY_PAGEOUT_PAGES - 1; > + generic_writepages(mapping, &wbc); > + iput(inode); I am afraid calling iput() from within pageout code is not generally safe: it can trigger a lot of file system activity (think open-unlinked file) that is not supposed to happen in the direct-reclaim context. Limiting pageout clustering to kswapd might be a better idea---this would improve direct-reclaim latency too, but still, file systems are not designed for re-entrant calls to iput(). Thank you, Nikita. -- 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