Re: [RFC][PATCH] PM / Hibernate: Add sysfs knob to control size of memory for drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Sonntag, 15. Mai 2011 schrieb Rafael J. Wysocki:
> Hi,

Hi Rafael,

> On Tuesday, May 10, 2011, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rjw@xxxxxxx>
> > 
> > Martin reports that on his system hibernation occasionally fails due
> > to the lack of memory, because the radeon driver apparently allocates
> > too much of it during the device freeze stage.  It turns out that the
> > amount of memory allocated by radeon during hibernation (and
> > presumably during system suspend too) depends on the utilization of
> > the GPU (e.g. hibernating while there are two KDE 4 sessions with
> > compositing enabled causes radeon to allocate more memory than for
> > one KDE 4 session).
> > 
> > In principle it should be possible to use image_size to make the
> > memory preallocation mechanism free enough memory for the radeon
> > driver, but in practice it is not easy to guess the right value
> > because of the way the preallocation code uses image_size.  For this
> > reason, it seems reasonable to allow users to control the amount of
> > memory reserved for driver allocations made after the preallocation,
> > which currently is constant and amounts to 1 MB.
> > 
> > Introduce a new sysfs file, /sys/power/reserved_size, whose value
> > will be used as the amount of memory to reserve for the
> > post-preallocation reservations made by device drivers, in bytes.
> > For backwards compatibility, set its default (and initial) value to
> > the currently used number (1 MB).
> > 
> > References: https://bugzilla.kernel.org/show_bug.cgi?id=34102
> > Reported-by: Martin Steigerwald <Martin@xxxxxxxxxxxx>
> > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> 
> OK, there are no comments, so my understanding is that everyone is fine
> with this patch and I can add it to my linux-next branch.

Extensively

Tested-by: Martin Steigerwald <Martin@xxxxxxxxxxxx>

This patch makes a complete difference for me. Instead of not knowing 
whether my ThinkPad T42 will hibernate with lots of applications open and 
thus closing applications prior to hibernation preventively now it simply 
will. *Always*.

I even tested it with two KDE 4 sessions with running desktop search 
indexing on one. It took ages, cause KDE 4.6 desktop search / nepomuk stuff 
seems to I/O load the machine beyond anything (bugs reported there), but 
it worked.

16 MiB reserved_size has been enough for one KDE session. With 128 MiB the 
linux kernel hibernated two KDE sessions.

Drivers allocating their memory via suspend/hibernate notifiers according 
to Rafael should fix the root cause, but until that is done, this will do. 
Adjusting imagesize instead never gave me such a reliable result.

Thanks,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux