[lkml]   [2008]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 05/19] split LRU lists into anon & file sets
    On Fri, 11 Jan 2008 16:35:24 +0900
    KOSAKI Motohiro <> wrote:

    > Why drop (total_swap_pages == 0 && PageAnon(page)) condition?
    > in embedded sysmtem,
    > CONFIG_NORECLAIM is OFF (because almost embedded cpu is 32bit) and
    > that anon move to inactive list is meaningless because it doesn't have swap.

    That was a mistake, kind of. Since all swap backed pages are on their
    own LRU lists, we should not scan those lists at all any more if we are
    out of swap space.

    The patch that fixes get_scan_ratio() adds that test.

    Having said that, with the nr_swap_pages==0 test in get_scan_ratio(),
    we no longer need to test for that condition in shrink_active_list().

    > below code is more good, may be.
    > but I don't understand yet why ignore page_referenced() result at anon page ;-)

    On modern systems, swapping out anonymous pages is a relatively rare
    event. All anonymous pages start out as active and referenced, so
    testing for that condition does (1) not add any information and (2)
    mean we need to scan ALL of the anonymous pages, in order to find one
    candidate to swap out (since they are all referenced).

    Simply deactivating a few pages and checking whether they were referenced
    again while on the (smaller) inactive_anon_list means we can find candidates
    to page out with a lot less CPU time used.

    All rights reversed.

     \ /
      Last update: 2008-01-11 16:49    [W:0.020 / U:6.080 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site