Likewise shrink_lruvec[1], madvise_pageout could get the benefit from per-task block plug. [1] 3da367c3e5fc, vmscan: add block plug for page reclaim Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> --- mm/vmscan.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/vmscan.c b/mm/vmscan.c index fb9584641ac7..cf11113f6adb 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2556,6 +2556,7 @@ unsigned long reclaim_pages(struct list_head *page_list) struct reclaim_stat dummy_stat; struct page *page; unsigned int noreclaim_flag; + struct blk_plug plug; struct scan_control sc = { .gfp_mask = GFP_KERNEL, .may_writepage = 1, @@ -2564,6 +2565,7 @@ unsigned long reclaim_pages(struct list_head *page_list) .no_demotion = 1, }; + blk_start_plug(&plug); noreclaim_flag = memalloc_noreclaim_save(); while (!list_empty(page_list)) { @@ -2603,6 +2605,8 @@ unsigned long reclaim_pages(struct list_head *page_list) } memalloc_noreclaim_restore(noreclaim_flag); + blk_finish_plug(&plug); + return nr_reclaimed; } -- 2.34.1.173.g76aa8bc2d0-goog