Hi: On 2021/12/10 8:30, Minchan Kim wrote: > Likewise shrink_lruvec[1], madvise_pageout could get the benefit > from per-task block plug. > > [1] 3da367c3e5fc, vmscan: add block plug for page reclaim It seems there is a block plug in the caller do_madvise already. This one might not be necessary for madvise. Many thanks. > 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; > } >