lkml.org 
[lkml]   [2009]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/3] PM: Drop shrink_all_memory (was: Re: [Bug #13058] First hibernation attempt fails)
    Date
    On Wednesday 22 April 2009, Andrew Morton wrote:
    > On Wed, 22 Apr 2009 22:11:17 +0200
    > "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
    >
    > > On Wednesday 22 April 2009, Pavel Machek wrote:
    > > > Hi!
    > > >
    > > > > Of course, this will protect the calling task from getting oom-killed.
    > > > > But it doesn't protect other tasks from getting oom-killed due to the
    > > > > activity of _this_ task.
    > > > >
    > > > > But I think that problem already exists, and that this proposal doesn't
    > > > > worsen anything, yes?
    > > > >
    > > > > Or is it the case that all other tasks are safely stuck in the freezer
    > > > > at this time, so they won't be allocating any memory anyway?
    > > >
    > > > That is the idea, yes. ... but we now have more threads that are not
    > > > freezable... so they may allocate the memory.
    > > >
    > > > Is it non-feasible to free memory without really going and allocating
    > > > everything?
    > >
    > > The question is whether there is a point. In principle we can just go and
    > > allocate as much as we need upfront. It shouldn't change anything, because
    > > we resume and suspend devices after creating the image anyway.
    > >
    > > I think we could try to disable the OOM killer before suspend and just
    > > allocate the memory for the image right before devices are suspended for the
    > > first time.
    > >
    >
    > It would be nice to do.
    >
    > shrink_all_memory() is simply trying to do something which page reclaim
    > doesn't expect to do (free memory when there's already lots of memory
    > free). Consequently it doesn't do it very well, and there's a good
    > risk that changes to core reclaim will accidentally break
    > shrink_all_memory().

    OK, a patchset follows:

    [1/3] - disable the OOM killer during system-wide power transitions (should be
    done anyway IMO)
    [2/3] - move swsusp_shrink_memory() to kernel/power/snapshot.c so that the
    next patch is easier to read
    [3/3] - drop shrink_all_memory()

    Please have a look and tell me what you think.

    Thanks,
    Rafael



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