From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Levitsky Subject: Re: Memory allocations in .suspend became very unreliable Date: Sat, 16 Jan 2010 01:56:47 +0200 Message-ID: <1263599807.3407.2.camel@maxim-laptop> References: <1263549544.3112.10.camel@maxim-laptop> <201001152303.39885.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <201001152303.39885.rjw@sisk.pl> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: "Rafael J. Wysocki" Cc: linux-pm@lists.linux-foundation.org List-Id: linux-pm@vger.kernel.org On Fri, 2010-01-15 at 23:03 +0100, Rafael J. Wysocki wrote: > On Friday 15 January 2010, Maxim Levitsky wrote: > > Hi, > > Hi, > > > I know that this is very controversial, because here I want to describe > > a problem in a proprietary driver that happens now in 2.6.33-rc3 > > I am taking about nvidia driver. > > > > Some time ago I did very long hibernate test and found no errors after > > more that 200 cycles. > > > > Now I update to 2.6.33 and notice that system will hand when nvidia > > driver allocates memory is their .suspend functions. > > They shouldn't do that, there's no guarantee that's going to work at all. > > > This could fail in 2.6.32 if I would run many memory hungry > > applications, but now this happens with most of memory free. > > This sounds a little strange. What's the requested size of the image? Don't know, but system has to be very tight on memory. Here is the same problem, now happens within non-propertary path: <6>[ 961.740712] ata_piix 0000:00:1f.1: PCI INT A disabled <6>[ 961.740867] HDA Intel 0000:00:1b.0: PCI INT A disabled <6>[ 961.760386] PM: freeze of devices complete after 335.113 msecs <6>[ 961.761952] PM: late freeze of devices complete after 1.465 msecs <6>[ 961.762296] ACPI: Preparing to enter system sleep state S4 <6>[ 961.771997] PM: Saving platform NVS memory <3>[ 1201.052518] INFO: task kthreadd:2 blocked for more than 120 seconds. <3>[ 1201.052619] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. <6>[ 1201.052724] kthreadd D 0000000000000000 0 2 0 0x00000000 <4>[ 1201.052979] ffff88006f8a55e0 0000000000000046 0000000000000000 ffffffff812db476 <4>[ 1201.053385] ffff88006f8a5520 0000000000000000 0000000100010281 ffff880004214e58 <4>[ 1201.053790] ffff88000420f008 ffff88006f8a4000 ffff88006f899288 ffff88006f8a5fd8 <4>[ 1201.054196] Call Trace: <4>[ 1201.054296] [] ? scsi_request_fn+0xb6/0x400 <4>[ 1201.054406] [] ? __up_read+0x99/0xc0 <4>[ 1201.054511] [] ? sync_page+0x0/0x60 <4>[ 1201.054617] [] io_schedule+0x73/0xc0 <4>[ 1201.054720] [] sync_page+0x45/0x60 <4>[ 1201.054824] [] __wait_on_bit+0x5f/0x90 <4>[ 1201.054929] [] wait_on_page_bit+0x73/0x80 <4>[ 1201.055037] [] ? wake_bit_function+0x0/0x40 <4>[ 1201.055145] [] pageout+0x209/0x280 <4>[ 1201.055249] [] ? page_unlock_anon_vma+0x2b/0x30 <4>[ 1201.055358] [] shrink_page_list+0x27f/0x600 <4>[ 1201.055467] [] ? trace_hardirqs_on+0xd/0x10 <4>[ 1201.055575] [] ? _raw_spin_unlock_irqrestore+0x42/0x80 <4>[ 1201.055688] [] ? finish_wait+0x67/0x90 <4>[ 1201.055795] [] ? congestion_wait+0x7d/0x90 <4>[ 1201.055902] [] ? autoremove_wake_function+0x0/0x40 <4>[ 1201.056012] [] shrink_inactive_list+0x689/0x710 <4>[ 1201.056121] [] ? __up_read+0x23/0xc0 <4>[ 1201.056227] [] shrink_zone+0x27f/0x490 <4>[ 1201.056333] [] ? shrink_slab+0x16a/0x1a0 <4>[ 1201.056440] [] do_try_to_free_pages+0x1bf/0x310 <4>[ 1201.056549] [] try_to_free_pages+0x70/0x80 <4>[ 1201.056657] [] ? isolate_pages_global+0x0/0x230 <4>[ 1201.056767] [] __alloc_pages_nodemask+0x3e0/0x740 <4>[ 1201.056878] [] ? copy_process+0xb9/0x15a0 <4>[ 1201.056985] [] __get_free_pages+0x17/0x60 <4>[ 1201.057091] [] copy_process+0xd4/0x15a0 <4>[ 1201.057196] [] ? wake_up_new_task+0x9a/0x110 <4>[ 1201.057303] [] ? __task_pid_nr_ns+0x0/0x100 <4>[ 1201.057409] [] do_fork+0x97/0x480 <4>[ 1201.057514] [] ? _raw_spin_unlock_irq+0x3b/0x70 <4>[ 1201.057623] [] ? finish_task_switch+0x7f/0xe0 <4>[ 1201.057730] [] ? finish_task_switch+0x0/0xe0 <4>[ 1201.057840] [] kernel_thread+0x69/0x70 <4>[ 1201.057946] [] ? kthread+0x0/0xb0 <4>[ 1201.058050] [] ? kernel_thread_helper+0x0/0x10 <4>[ 1201.058159] [] kthreadd+0xd8/0x110 <4>[ 1201.058263] [] ? trace_hardirqs_on_caller+0x145/0x190 <4>[ 1201.058374] [] kernel_thread_helper+0x4/0x10 <4>[ 1201.058480] [] ? restore_args+0x0/0x30 <4>[ 1201.058586] [] ? kthreadd+0x0/0x110 <4>[ 1201.058690] [] ? kernel_thread_helper+0x0/0x10 <4>[ 1201.058797] INFO: lockdep is turned off. Best regards, Maxim Levitsky