From: Hirokazu Takahashi Hi, Add a comment against P13-migrate_page-operation.patch. The patch is against 2.6.10-rc1-mm2-mhp1 . Write-back is required to release filesystem specific private data of the pages - most filesystems have buffers as private data - if they're dirty unless it has migrate_page method, which can move both of the pages and the private data without write-back I/O. Signed-off-by: Hirokazu Takahashi Signed-off-by: Dave Hansen --- memhotplug-dave/mm/mmigrate.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff -puN mm/mmigrate.c~AA-PM-13.3-Add_comment_why_writeback_isnt_needed mm/mmigrate.c --- memhotplug/mm/mmigrate.c~AA-PM-13.3-Add_comment_why_writeback_isnt_needed 2005-07-28 13:50:45.000000000 -0700 +++ memhotplug-dave/mm/mmigrate.c 2005-07-28 13:50:45.000000000 -0700 @@ -399,8 +399,8 @@ need_writeback(struct page *page) } /* - * Start writeback I/O if it's a dirty page with buffers - * and it doesn't have migrate_page method. + * Start writeback I/O against a dirty page with filesystem + * specific private data to release them. */ static inline void page_start_writeback(struct page *page) { @@ -416,6 +416,10 @@ static inline void page_start_writeback( if (!mapping) goto out_unlock; + /* + * Writeback is not needed if it has migrate_page method, + * because it can move all of them without writeback I/O. + */ if (mapping->a_ops->migrate_page) goto out_unlock; if (!need_writeback(page)) _