lkml.org 
[lkml]   [2011]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC 1/8] Only isolate page we can handle
    From
    On Wed, Apr 27, 2011 at 4:54 PM, KAMEZAWA Hiroyuki
    <kamezawa.hiroyu@jp.fujitsu.com> wrote:
    > On Wed, 27 Apr 2011 01:25:18 +0900
    > Minchan Kim <minchan.kim@gmail.com> wrote:
    >
    >> There are some places to isolate lru page and I believe
    >> users of isolate_lru_page will be growing.
    >> The purpose of them is each different so part of isolated pages
    >> should put back to LRU, again.
    >>
    >> The problem is when we put back the page into LRU,
    >> we lose LRU ordering and the page is inserted at head of LRU list.
    >> It makes unnecessary LRU churning so that vm can evict working set pages
    >> rather than idle pages.
    >>
    >> This patch adds new filter mask when we isolate page in LRU.
    >> So, we don't isolate pages if we can't handle it.
    >> It could reduce LRU churning.
    >>
    >> This patch shouldn't change old behavior.
    >> It's just used by next patches.
    >>
    >> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    >> Cc: Mel Gorman <mgorman@suse.de>
    >> Cc: Rik van Riel <riel@redhat.com>
    >> Cc: Andrea Arcangeli <aarcange@redhat.com>
    >> Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
    >
    > Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    >
    > nitpick below.
    >
    >> ---
    >>  include/linux/swap.h |    3 ++-
    >>  mm/compaction.c      |    2 +-
    >>  mm/memcontrol.c      |    2 +-
    >>  mm/vmscan.c          |   26 ++++++++++++++++++++------
    >>  4 files changed, 24 insertions(+), 9 deletions(-)
    >>
    >> diff --git a/include/linux/swap.h b/include/linux/swap.h
    >> index 384eb5f..baef4ad 100644
    >> --- a/include/linux/swap.h
    >> +++ b/include/linux/swap.h
    >> @@ -259,7 +259,8 @@ extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem,
    >>                                               unsigned int swappiness,
    >>                                               struct zone *zone,
    >>                                               unsigned long *nr_scanned);
    >> -extern int __isolate_lru_page(struct page *page, int mode, int file);
    >> +extern int __isolate_lru_page(struct page *page, int mode, int file,
    >> +                             int not_dirty, int not_mapped);
    >
    > Hmm, which is better to use 4 binary args or a flag with bitmask ?

    Yes. Even I added new flags one more in next patch.
    So I try to use bitmask flag in next version.
    Thanks.


    >
    > Thanks,
    > -Kame
    >
    >



    --
    Kind regards,
    Minchan Kim
    --
    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-04-27 10:15    [W:4.656 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site