From: Nigel Cunningham <nigel@nigel.suspend2.net>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-pm@lists.osdl.org, Jiri Slaby <jirislaby@gmail.com>,
Linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: [RFD] swsusp problem: Drivers allocate much memory during suspend (was: Re: 2.6.21-rc5: swsusp: Not enough free memory)
Date: Sat, 14 Apr 2007 08:34:52 +1000 [thread overview]
Message-ID: <1176503692.7112.189.camel@nigel.suspend2.net> (raw)
In-Reply-To: <20070413221016.GQ28264@elf.ucw.cz>
Hi.
On Sat, 2007-04-14 at 00:10 +0200, Pavel Machek wrote:
> Hi!
>
> > > > Well, it looks like someone allocated about 6000 pages after we had freed
> > > > enough memory for suspending.
> > >
> > > We have a tunable allowance in Suspend2 for this, because fglrx
> > > allocates a lot of pages in its suspend routine if DRI is enabled. I
> > > think some other drivers do too, but fglrx is the main one I know.
> >
> > I wasn't aware of that, thanks for the information.
> >
> > I think this means we'll probably need to add a tunable, similar to image_size,
> > that will allow the users to specify how much spare memory they want to reserve
> > for suspending (instead of the constant PAGES_FOR_IO). IMO we can call it
> > 'spare_memory'.
>
> Just increase PAGES_FOR_IO. This should not be tunable.
If we don't have a means for drivers to pre-allocate or say how much
memory they need, it should be tunable. Frankly, I'm startled that you
guys haven't heard of this issue before now. I can't believe everyone
who has ever wanted to hibernate with DRM enabled has been using
Suspend2. Maybe this is one of the sources of complaints that swsusp
isn't reliable?
> > IMO to really fix the problem, we should let the drivers that need much memory
> > for suspending allocate it _before_ the memory shrinker is called. For this
> > purpose we can use notifiers that will be called before we start the shrinking
> > of memory. Namely, if a driver needs to allocate substantial amount
> > of memory
>
> Yes please. Using that notifier without leaking the memory will be
> "interesting" but if someone needs so much memory during suspend, let
> them eat their own complexity.
It doesn't need to be that complex. Add another (optional) function to
the driver model to let drivers say how much they want and it becomes
trivial. Maybe this idea should be preferred over the notifier chain.
Regards,
Nigel
next prev parent reply other threads:[~2007-04-13 22:34 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-29 7:44 2.6.21-rc5: swsusp: Not enough free memory Jiri Slaby
2007-03-29 14:39 ` Rafael J. Wysocki
2007-03-29 14:39 ` Jiri Slaby
2007-04-01 18:17 ` Jiri Slaby
2007-04-01 19:23 ` Rafael J. Wysocki
2007-04-02 8:24 ` Jiri Slaby
2007-04-02 21:18 ` Rafael J. Wysocki
2007-04-03 7:37 ` Jiri Slaby
2007-04-03 10:50 ` Rafael J. Wysocki
2007-04-03 19:59 ` Jiri Slaby
2007-04-09 20:07 ` Jiri Slaby
2007-04-09 20:20 ` Rafael J. Wysocki
2007-04-11 7:36 ` Jiri Slaby
2007-04-11 9:55 ` Rafael J. Wysocki
2007-04-11 10:45 ` Jiri Slaby
2007-04-11 14:40 ` Rafael J. Wysocki
2007-04-11 15:02 ` Jiri Slaby
2007-04-12 21:36 ` Rafael J. Wysocki
2007-04-13 10:14 ` Jiri Slaby
2007-04-13 12:00 ` Rafael J. Wysocki
2007-04-13 12:21 ` Nigel Cunningham
2007-04-13 20:41 ` [RFD] swsusp problem: Drivers allocate much memory during suspend (was: Re: 2.6.21-rc5: swsusp: Not enough free memory) Rafael J. Wysocki
2007-04-13 21:34 ` Nigel Cunningham
2007-04-13 21:40 ` [RFD] swsusp problem: Drivers allocate much memory during suspend Chuck Ebbert
2007-04-13 22:10 ` [RFD] swsusp problem: Drivers allocate much memory during suspend (was: Re: 2.6.21-rc5: swsusp: Not enough free memory) Pavel Machek
2007-04-13 22:34 ` Nigel Cunningham [this message]
2007-04-13 22:38 ` Pavel Machek
2007-04-13 22:43 ` Nigel Cunningham
2007-04-13 22:35 ` Rafael J. Wysocki
2007-04-13 22:36 ` Nigel Cunningham
2007-04-13 22:40 ` Pavel Machek
2007-04-13 22:45 ` Nigel Cunningham
2007-04-13 22:57 ` Rafael J. Wysocki
2007-04-13 23:03 ` Nigel Cunningham
2007-04-14 9:33 ` Rafael J. Wysocki
2007-04-14 22:53 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1176503692.7112.189.camel@nigel.suspend2.net \
--to=nigel@nigel.suspend2.net \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.osdl.org \
--cc=pavel@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox