lkml.org 
[lkml]   [2021]   [Dec]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] mm/madvise: pageout under plugging
    Date
    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@kernel.org>
    ---
    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
    \
     
     \ /
      Last update: 2021-12-10 01:30    [W:7.378 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site