lkml.org 
[lkml]   [2003]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Andrea VM changes
    On Mon, Sep 01, 2003 at 02:27:07PM -0300, Marcelo Tosatti wrote:
    >
    > Mind to answer this message Andrea?

    part 1 is correct. non __GFP_IO only shrinks the cache. This was mostly
    a feature for some place that is calling GFP_ATOMIC by mistake, and they
    shoud call GFP_NOIO, they don't want to slowdown too much, usually
    they're in realtime context. However it should be safe to set
    failed_swapout to zero always too.

    part 2 is the thing that avoids the kernel to deadlock during oom, the
    first time I scan the whole vm and nothing was freeable I stop trying
    otherwise it takes way too long to handle oom gracefully.

    I've another message from you in queue.

    Feel free to ask for more details.

    > On Sun, 31 Aug 2003, Marcelo Tosatti wrote:
    >
    > >
    > >
    > > On Sat, 30 Aug 2003, Andrea Arcangeli wrote:
    > >
    > > > On Sat, Aug 30, 2003 at 12:13:57PM -0300, Marcelo Tosatti wrote:
    > > > >
    > > > > > You need to integrate with -aa on the VM. It has been hard enough for
    > > > > > Andrea to get his stuff in, I doubt you will fair any better.
    > > > >
    > > > > Thats because I never received separate patches which make sense one by
    > > > > one. Most of Andreas changes are all grouped into few big patches that
    > > > > only he knows the mess. That is not the way to merge things.
    > > > >
    > > > > I want to work out with him after I merge other stuff to address that.
    > > >
    > > > that's true for only one patch, the others are pretty orthogonal after
    > > > Andrew helped splitting them:
    > > >
    > > >
    > > > 05_vm_03_vm_tunables-4
    > > > 05_vm_05_zone_accounting-2
    > > > 05_vm_06_swap_out-3
    > >
    > > Help me understand something about this patch. In try_to_free_pages(), you
    > > set failed_swapout to zero in case we are under __GFP_IO. And
    > > failed_swapout decides whether we swap_out() or not.
    > >
    > > So basically with -aa swap_out() is only called by __GFP_IO tasks (which
    > > are throttled by the page laundering code in shrink_cache) and in mainline
    > > non __GFP_IO tasks do swap_out() (and those are not throttled by anything).
    > >
    > > Did I understood this right?
    > >
    > > Part 2:
    > >
    > > Now in try_to_free_pages_zone() and shrink_cache you have:
    > >
    > > if (!*failed_swapout)
    > > *failed_swapout = !swap_out(classzone);
    > >
    > > Which means: Keep trying to swap_out() only in case swap_out()
    > > successfully desactivates nr_pages pte's. Right? Do you do that to avoid
    > > terrible expensive swap_out() loops which dont successfully free pages?
    > >
    > > Thanks
    > >
    > >
    > >
    > >
    > >
    >


    Andrea
    -
    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: 2005-03-22 13:48    [W:0.024 / U:0.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site