lkml.org 
[lkml]   [2011]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/4] mm: vmscan: If kswapd has been running too long, allow it to sleep
    On Wed, May 18, 2011 at 02:44:48PM +0900, Minchan Kim wrote:
    > On Wed, May 18, 2011 at 10:05 AM, KOSAKI Motohiro
    > <kosaki.motohiro@jp.fujitsu.com> wrote:
    > >> It would be better to put cond_resched after balance_pgdat?
    > >>
    > >> diff --git a/mm/vmscan.c b/mm/vmscan.c
    > >> index 292582c..61c45d0 100644
    > >> --- a/mm/vmscan.c
    > >> +++ b/mm/vmscan.c
    > >> @@ -2753,6 +2753,7 @@ static int kswapd(void *p)
    > >>                 if (!ret) {
    > >>                         trace_mm_vmscan_kswapd_wake(pgdat->node_id,
    > >> order);
    > >>                         order = balance_pgdat(pgdat,
    > >> order,&classzone_idx);
    > >> +                       cond_resched();
    > >>                 }
    > >>         }
    > >>         return 0;
    > >>
    > >>>>> While it appears unlikely, there are bad conditions which can result
    > >>>
    > >>> in cond_resched() being avoided.
    > >
    > > Every reclaim priority decreasing or every shrink_zone() calling makes more
    > > fine grained preemption. I think.
    >
    > It could be.
    > But in direct reclaim case, I have a concern about losing pages
    > reclaimed to other tasks by preemption.
    >
    > Hmm,, anyway, we also needs test.
    > Hmm,, how long should we bother them(Colins and James)?
    > First of all, Let's fix one just between us and ask test to them and
    > send the last patch to akpm.
    >
    > 1. shrink_slab
    > 2. right after balance_pgdat
    > 3. shrink_zone
    > 4. reclaim priority decreasing routine.
    >
    > Now, I vote 1) and 2).
    >

    I've already submitted a pair of patches for option 1. I don't think
    option 2 gains us anything. I think it's more likely we should worry
    about all_unreclaimable being set when shrink_slab is returning 0 and we
    are encountering so many dirty pages that pages_scanned is high enough.

    --
    Mel Gorman
    SUSE Labs
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-05-18 12:01    [W:0.023 / U:0.180 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site