[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200704140057.35829.rjw@sisk.pl>
Date: Sat, 14 Apr 2007 00:57:35 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Nigel Cunningham <nigel@...el.suspend2.net>
Cc: Pavel Machek <pavel@....cz>, Jiri Slaby <jirislaby@...il.com>,
Linux kernel mailing list <linux-kernel@...r.kernel.org>,
linux-pm@...ts.osdl.org
Subject: Re: [RFD] swsusp problem: Drivers allocate much memory during suspend (was: Re: 2.6.21-rc5: swsusp: Not enough free memory)
On Saturday, 14 April 2007 00:45, Nigel Cunningham wrote:
> Hi.
>
> On Sat, 2007-04-14 at 00:40 +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.
> > >
> > > Well, I'm not sure. First, we don't really know what the value of it should be
> > > and this alone is a good enough reason for making it tunable, IMHO. Second, I
> > > think different systems may need different PAGES_FOR_IO and taking just the
> > > maximum (even if we learn how much that actually is) seems to be wasteful in
> >
> > Well, it is wasteful as in "we save slightly smaller image than we
> > could". That's okay with me.
>
> No. If the driver can't allocate the memory, your call to device_suspend
> will fail. This isn't about image size but about success or failure to
> hibernate.
If we take PAGES_FOR_IO to be the maximum over all possible configurations
that can hibernate, the majority of systems will just create smaller images than
they could have created for smaller PAGES_FOR_IO, but all of them will be
able to hibernate. :-)
Greetings,
Rafael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists