lkml.org 
[lkml]   [2009]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH 5/5] (experimental) chase and free cache only swap
    On Wed, 27 May 2009 03:26:58 +0200
    Johannes Weiner <hannes@cmpxchg.org> wrote:

    > On Wed, May 27, 2009 at 09:08:13AM +0900, KAMEZAWA Hiroyuki wrote:
    > > On Tue, 26 May 2009 20:14:00 +0200
    > > Johannes Weiner <hannes@cmpxchg.org> wrote:
    > >
    > > > On Tue, May 26, 2009 at 12:18:34PM +0900, KAMEZAWA Hiroyuki wrote:
    > > > >
    > > > > From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    > > > >
    > > > > Just a trial/example patch.
    > > > > I'd like to consider more. Better implementation idea is welcome.
    > > > >
    > > > > When the system does swap-in/swap-out repeatedly, there are
    > > > > cache-only swaps in general.
    > > > > Typically,
    > > > > - swapped out in past but on memory now while vm_swap_full() returns true
    > > > > pages are cache-only swaps. (swap_map has no references.)
    > > > >
    > > > > This cache-only swaps can be an obstacles for smooth page reclaiming.
    > > > > Current implemantation is very naive, just scan & free.
    > > >
    > > > I think we can just remove that vm_swap_full() check in do_swap_page()
    > > > and try to remove the page from swap cache unconditionally.
    > > >
    > > I'm not sure why reclaim swap entry only at write fault.
    >
    > How do you come to that conclusion? Do you mean the current code does
    > that?
    yes.

    2474 pte = mk_pte(page, vma->vm_page_prot);
    2475 if (write_access && reuse_swap_page(page)) {
    2476 pte = maybe_mkwrite(pte_mkdirty(pte), vma);
    2477 write_access = 0;
    2478 }


    > Did you understand that I suggested that?
    >

    I thought you suggested that swp_entry should be reclaimed in read-fault as
    same way as write-fault.

    Thanks,
    -Kame






    \
     
     \ /
      Last update: 2009-05-27 03:35    [W:2.613 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site