Loading mm/vmscan.c +11 −1 Original line number Diff line number Diff line Loading @@ -507,9 +507,19 @@ static pageout_t pageout(struct page *page, struct address_space *mapping, if (!PageWriteback(page)) { /* synchronous write or broken a_ops? */ ClearPageReclaim(page); if (PageError(page)) if (PageError(page) && PageSwapCache(page)) { ClearPageError(page); /* * We lock the page here because it is required * to free the swp space later in * shrink_page_list. But the page may be * unclocked by functions like * handle_write_error. */ __set_page_locked(page); return PAGE_ACTIVATE; } } trace_mm_vmscan_writepage(page, trace_reclaim_flags(page)); inc_zone_page_state(page, NR_VMSCAN_WRITE); return PAGE_SUCCESS; Loading Loading
mm/vmscan.c +11 −1 Original line number Diff line number Diff line Loading @@ -507,9 +507,19 @@ static pageout_t pageout(struct page *page, struct address_space *mapping, if (!PageWriteback(page)) { /* synchronous write or broken a_ops? */ ClearPageReclaim(page); if (PageError(page)) if (PageError(page) && PageSwapCache(page)) { ClearPageError(page); /* * We lock the page here because it is required * to free the swp space later in * shrink_page_list. But the page may be * unclocked by functions like * handle_write_error. */ __set_page_locked(page); return PAGE_ACTIVATE; } } trace_mm_vmscan_writepage(page, trace_reclaim_flags(page)); inc_zone_page_state(page, NR_VMSCAN_WRITE); return PAGE_SUCCESS; Loading