lkml.org 
[lkml]   [2006]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 00/03] Unmapped: Separate unmapped and mapped pages
    On 3/12/06, Peter Zijlstra <peter@programming.kicks-ass.net> wrote:
    > On Fri, 2006-03-10 at 14:38 +0100, Magnus Damm wrote:
    > > On 3/10/06, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
    >
    > > > Breaking the LRU in two like this breaks the page ordering, which makes
    > > > it possible for pages to stay resident even though they have much less
    > > > activity than pages that do get reclaimed.
    > >
    > > Yes, true. But this happens already with a per-zone LRU. LRU pages
    > > that happen to end up in the DMA zone will probably stay there a
    > > longer time than pages in the normal zone. That does not mean it is
    > > right to break the page ordering though, I'm just saying it happens
    > > already and the oldest piece of data in the global system will not be
    > > reclaimed first - instead there are priorities such as unmapped pages
    > > will be reclaimed over mapped and so on. (I strongly feel that there
    > > should be per-node LRU:s, but that's another story)
    >
    > If reclaim works right* there is equal pressure on each zone
    > (proportional to their size) and hence each page will have an equal life
    > time expectancy.
    >
    > (*) this is of course not possible for all workloads, however
    > balance_pgdat and the page allocator take pains to make it as true as
    > possible.

    In shrink_zone(), there is +1 logic that adds at least one to
    nr_scan_active/nr_scan_inactive, and resets them to zero when they
    have reached sc->swap_cluster_max (32 or higher in some cases).

    So nr_scan_active/nr_scan_inactive will in most cases be 16
    (SWAP_CLUSTER_MAX / 2), regardless of the size of the zone. So, a
    total of 256 calls to shrink_zone() on a zone with 4096 pages will
    likely scan through 100% of the pages on both LRU lists, while 256
    calls to shrink_zone() on a zone with say 8096 pages will result in
    around 50% of the pages on the lists are scanned through.

    Maybe not entirely true, but the bottom line is that the +1 logic will
    scan though smaller zones faster than large ones.

    / magnus
    -
    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: 2006-03-13 04:08    [W:0.024 / U:93.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site