lkml.org 
[lkml]   [2009]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 2/6] PM: Asynchronous resume of devices
    Date
    On Sunday 30 August 2009, Pavel Machek wrote:
    > Hi!
    >
    > > > > > > > The same goes for the noirq versions.
    > > > > > >
    > > > > > > I thought about that, but there are a few things to figure out:
    > > > > > > - how many threads to start
    > > > > >
    > > > > > That's a tough question. Right now you start roughly as many threads
    > > > > > as there are async devices. That seems like overkill.
    > > > >
    > > > > In fact they are substantially fewer than that, for the following reasons.
    > > > >
    > > > > First, the async framework will not start more than MAX_THREADS threads,
    > > > > which is 256 at the moment. This number is less than the number of async
    > > > > devices to handle on an average system.
    > > >
    > > > Okay, but MAX_THREADS isn't under your control. Remember also that
    > > > each thread takes up some memory, and during hibernation we are in a
    > > > memory-constrained situation.
    > >
    > > We keep some extra free memory for things like this. It's not likely to be
    > > exhausted by the async threads alone.
    >
    > What extra memory? You are creating quite a lot of threads. For 256 of
    > them, it would take cca 2MB...

    We never start that many threads and even if there's not enough memory to
    start a new thread, the async framework will handle that for us.

    > You recently removed code from s2disk that freed 4MB of extra memory,

    That was removed from s2ram. For STD we still have PAGES_FOR_IO and
    SPARE_PAGES, nothing's changed there.

    Thanks,
    Rafael


    \
     
     \ /
      Last update: 2009-08-30 15:11    [W:0.023 / U:243.680 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site