* Re: 2.6.9-rc2-mm1 swsusp bug report. [not found] ` <2I7Zd-1TK-11@gated-at.bofh.it> @ 2004-09-25 1:05 ` Pascal Schmidt 2004-09-25 10:16 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Pascal Schmidt @ 2004-09-25 1:05 UTC (permalink / raw) To: ncunningham; +Cc: linux-kernel On Sat, 25 Sep 2004 01:50:08 +0200, you wrote in linux.kernel: > The problem isn't really that you're out of memory. Rather, the memory > is so fragmented that swsusp is unable to get an order 8 allocation in > which to store its metadata. There isn't really anything you can do to > avoid this issue apart from eating memory (which swsusp is doing > anyway). That's one megabyte, right? Can't we preallocate that on boot, while there's still chance to get that much contiguous memory? If the user has swsusp compiled into his kernel, he probably wants it to function, so it's not really "wasted". -- Ciao, Pascal ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-09-25 1:05 ` 2.6.9-rc2-mm1 swsusp bug report Pascal Schmidt @ 2004-09-25 10:16 ` Pavel Machek 2004-10-10 18:17 ` Jan Rychter 2004-10-11 9:56 ` Stefan Seyfried 0 siblings, 2 replies; 20+ messages in thread From: Pavel Machek @ 2004-09-25 10:16 UTC (permalink / raw) To: Pascal Schmidt; +Cc: ncunningham, linux-kernel Hi! > > The problem isn't really that you're out of memory. Rather, the memory > > is so fragmented that swsusp is unable to get an order 8 allocation in > > which to store its metadata. There isn't really anything you can do to > > avoid this issue apart from eating memory (which swsusp is doing > > anyway). > > That's one megabyte, right? Can't we preallocate that on boot, while > there's still chance to get that much contiguous memory? If the > user has swsusp compiled into his kernel, he probably wants it to > function, so it's not really "wasted". You do not know how much you should preallocate, because it depends on ammount of memory used. You could preallocate maximum possible ammount... OTOH this is first report of this failure. If it fails once in a blue moon, it is probably better to let it fail than waste memory. Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-09-25 10:16 ` Pavel Machek @ 2004-10-10 18:17 ` Jan Rychter 2004-10-11 13:32 ` Pavel Machek 2004-10-11 9:56 ` Stefan Seyfried 1 sibling, 1 reply; 20+ messages in thread From: Jan Rychter @ 2004-10-10 18:17 UTC (permalink / raw) To: linux-kernel >>>>> "Pavel" == Pavel Machek <pavel@ucw.cz> writes: Pavel> Hi! > The problem isn't really that you're out of memory. Rather, the > memory is so fragmented that swsusp is unable to get an order 8 > allocation in which to store its metadata. There isn't really > anything you can do to avoid this issue apart from eating memory > (which swsusp is doing anyway). >> >> That's one megabyte, right? Can't we preallocate that on boot, while >> there's still chance to get that much contiguous memory? If the user >> has swsusp compiled into his kernel, he probably wants it to >> function, so it's not really "wasted". Pavel> You do not know how much you should preallocate, because it Pavel> depends on ammount of memory used. You could preallocate maximum Pavel> possible ammount... Pavel> OTOH this is first report of this failure. If it fails once in a Pavel> blue moon, it is probably better to let it fail than waste Pavel> memory. This is *exactly* why I choose to use swsusp2. There is a marked difference in the maintainer's approach to these kinds of problems. The net result is that swsusp2 has worked for me very well for many months now: I have been suspending and resuming happily for several months, with exactly 0 swsusp-caused crashes or failures. BTW, on a related note, I believe there is too much acceptance for crashes and failures in the Linux world recently. Take an example: I can bring down any of my machines (kernels 2.4 or 2.6) in less than 10 minutes just by plugging in and unplugging USB devices. There is something fundamentally wrong with the USB subsystem if it is possible to do that. --J. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-10 18:17 ` Jan Rychter @ 2004-10-11 13:32 ` Pavel Machek 2004-10-11 14:53 ` Jan Rychter 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-11 13:32 UTC (permalink / raw) To: Jan Rychter; +Cc: linux-kernel Hi! > Pavel> You do not know how much you should preallocate, because it > Pavel> depends on ammount of memory used. You could preallocate maximum > Pavel> possible ammount... > > Pavel> OTOH this is first report of this failure. If it fails once in a > Pavel> blue moon, it is probably better to let it fail than waste > Pavel> memory. > > This is *exactly* why I choose to use swsusp2. There is a marked > difference in the maintainer's approach to these kinds of problems. Okay, and do you have something to say or do you want to start flamewar? That is also why swsusp2 is 10 times code size of swsusp... Pavel -- Boycott Kodak -- for their patent abuse against Java. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 13:32 ` Pavel Machek @ 2004-10-11 14:53 ` Jan Rychter 2004-10-17 19:10 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Jan Rychter @ 2004-10-11 14:53 UTC (permalink / raw) To: linux-kernel >>>>> "Pavel" == Pavel Machek <pavel@ucw.cz> writes: Pavel> Hi! You do not know how much you should preallocate, because it Pavel> depends on ammount of memory used. You could preallocate maximum Pavel> possible ammount... >> Pavel> OTOH this is first report of this failure. If it fails once in a Pavel> blue moon, it is probably better to let it fail than waste Pavel> memory. >> >> This is *exactly* why I choose to use swsusp2. There is a marked >> difference in the maintainer's approach to these kinds of problems. Pavel> Okay, and do you have something to say or do you want to start Pavel> flamewar? That is also why swsusp2 is 10 times code size of Pavel> swsusp... Sure, flame me if you think this is the right thing to do. But I will continue to pitch in with a users' opinion sometimes, because I really believe it is important. It is easy to lose sight of the user perspective on these things if all you deal with is kernel development. You probably reboot your machine dozens of times a day anyway. However, for some users crashes and reboots are *very* expensive. These people (myself included) consider sprinkling the code with panics, crashing and failing an unacceptable thing to do. I also believe your reply shows how important it is for me to actually write things like these from time to time (even risking getting flamed). As a user I don't care whatsoever what the code size is. Actually, I don't care that much about its performance, either. What I do care about is that my operating system doesn't crash from under me, doesn't lose my data, and doesn't fail on me with suspending when I really need it to suspend now. Give me a userspace USB implementation that works 10x slower and is 10x larger but doesn't crash my machine and I'll take it any day. --J. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 14:53 ` Jan Rychter @ 2004-10-17 19:10 ` Pavel Machek 2004-10-17 21:40 ` Nigel Cunningham 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-17 19:10 UTC (permalink / raw) To: Jan Rychter; +Cc: linux-kernel Hi! > Sure, flame me if you think this is the right thing to do. But I will > continue to pitch in with a users' opinion sometimes, because I really > believe it is important. > > It is easy to lose sight of the user perspective on these things if all > you deal with is kernel development. You probably reboot your machine > dozens of times a day anyway. However, for some users crashes and > reboots are *very* expensive. These people (myself included) consider > sprinkling the code with panics, crashing and failing an unacceptable > thing to do. You can have code that does not panic, does not crash, does not corrupt your data, never fails to suspend and is in Linus' tree. ...no, that is too good. It sounds like a fairy tale. So pick any four. Pavel PS: And it is real. We have conflicting goals here and I consider "refuses to suspend" least critical. -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-17 19:10 ` Pavel Machek @ 2004-10-17 21:40 ` Nigel Cunningham 0 siblings, 0 replies; 20+ messages in thread From: Nigel Cunningham @ 2004-10-17 21:40 UTC (permalink / raw) To: Pavel Machek; +Cc: Jan Rychter, Linux Kernel Mailing List Hi. On Mon, 2004-10-18 at 05:10, Pavel Machek wrote: > You can have code that does not panic, does not crash, does not > corrupt your data, never fails to suspend and is in Linus' tree. > > ...no, that is too good. It sounds like a fairy tale. > > So pick any four. > Pavel > > PS: And it is real. We have conflicting goals here and I consider > "refuses to suspend" least critical. I'm going for all five! You're probably right, nevertheless. I can't say suspend2 _never_ fails to suspend. It's just very rare. Regards, Nigel -- Nigel Cunningham Pastoral Worker Christian Reformed Church of Tuggeranong PO Box 1004, Tuggeranong, ACT 2901 Many today claim to be tolerant. True tolerance, however, can cope with others being intolerant. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-09-25 10:16 ` Pavel Machek 2004-10-10 18:17 ` Jan Rychter @ 2004-10-11 9:56 ` Stefan Seyfried 2004-10-11 14:59 ` Pavel Machek 1 sibling, 1 reply; 20+ messages in thread From: Stefan Seyfried @ 2004-10-11 9:56 UTC (permalink / raw) To: Pavel Machek; +Cc: ncunningham, linux-kernel, pascal.schmidt Hi, Pavel Machek wrote: > OTOH this is first report of this failure. If it fails once in a blue > moon, it is probably better to let it fail than waste memory. PM: Attempting to suspend to disk. PM: snapshotting memory. swsusp: critical section: swsusp: Saving Highmem [nosave pfn 0x3be]<7>[nosave pfn 0x3bf]swsusp: Need to copy 30519 pages suspend: (pages needed: 30519 + 512 free: 100469) do_acpi_sleep: page allocation failure. order:7, mode:0x120 [<c013a628>] __alloc_pages+0x3a8/0x3b0 [<c013a648>] __get_free_pages+0x18/0x30 [<c0132c37>] alloc_pagedir+0x17/0x60 [<c0132ddb>] swsusp_alloc+0x4b/0xa0 [<c0132e63>] suspend_prepare_image+0x33/0x80 [<c028beda>] swsusp_arch_suspend+0x2a/0x30 [<c0132f1b>] swsusp_suspend+0x2b/0x40 [<c01332ad>] pm_suspend_disk+0x3d/0xb0 [<c0131765>] enter_state+0x85/0x90 [<c01318b1>] state_store+0xc1/0xc3 [<c01317f0>] state_store+0x0/0xc3 [<c01852e6>] subsys_attr_store+0x26/0x30 [<c018548d>] flush_write_buffer+0x1d/0x30 [<c01854c9>] sysfs_write_file+0x29/0x40 [<c01854a0>] sysfs_write_file+0x0/0x40 [<c0150c7f>] vfs_write+0x9f/0x100 [<c0150d8c>] sys_write+0x3c/0x70 [<c0105c69>] sysenter_past_esp+0x52/0x79 suspend: Allocating pagedir failed. swsusp: Restoring Highmem this happened right now, after running fine over the weekend and doing a successful suspend/resume cycle this morning. It was a "battery critical" suspend, so this is not nice :-( I had about 2 minutes left until hard powerdown during which i tried to get it to suspend but failed. Yes, userspace should handle the "failed battery-critical suspend" case better and probably call "shutdown -h now". Stefan ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 9:56 ` Stefan Seyfried @ 2004-10-11 14:59 ` Pavel Machek 2004-10-11 17:18 ` Stefan Seyfried 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-11 14:59 UTC (permalink / raw) To: Stefan Seyfried; +Cc: ncunningham, linux-kernel, pascal.schmidt Hi! > > OTOH this is first report of this failure. If it fails once in a blue > > moon, it is probably better to let it fail than waste memory. > > PM: Attempting to suspend to disk. > PM: snapshotting memory. > swsusp: critical section: > swsusp: Saving Highmem > [nosave pfn 0x3be]<7>[nosave pfn 0x3bf]swsusp: Need to copy 30519 pages > suspend: (pages needed: 30519 + 512 free: 100469) > do_acpi_sleep: page allocation failure. order:7, mode:0x120 > [<c013a628>] __alloc_pages+0x3a8/0x3b0 > [<c013a648>] __get_free_pages+0x18/0x30 > [<c0132c37>] alloc_pagedir+0x17/0x60 > [<c0132ddb>] swsusp_alloc+0x4b/0xa0 > [<c0132e63>] suspend_prepare_image+0x33/0x80 > [<c028beda>] swsusp_arch_suspend+0x2a/0x30 > [<c0132f1b>] swsusp_suspend+0x2b/0x40 > [<c01332ad>] pm_suspend_disk+0x3d/0xb0 > [<c0131765>] enter_state+0x85/0x90 > [<c01318b1>] state_store+0xc1/0xc3 > [<c01317f0>] state_store+0x0/0xc3 > [<c01852e6>] subsys_attr_store+0x26/0x30 > [<c018548d>] flush_write_buffer+0x1d/0x30 > [<c01854c9>] sysfs_write_file+0x29/0x40 > [<c01854a0>] sysfs_write_file+0x0/0x40 > [<c0150c7f>] vfs_write+0x9f/0x100 > [<c0150d8c>] sys_write+0x3c/0x70 > [<c0105c69>] sysenter_past_esp+0x52/0x79 > suspend: Allocating pagedir failed. > swsusp: Restoring Highmem > > this happened right now, after running fine over the weekend and doing a > successful suspend/resume cycle this morning. > It was a "battery critical" suspend, so this is not nice :-( I had about > 2 minutes left until hard powerdown during which i tried to get it to > suspend but failed. Yes, userspace should handle the "failed > battery-critical suspend" case better and probably call "shutdown -h now". Ok... And I guess it is nearly impossible to trigger this on demand, right? I do not think I can use vmalloc easily because reallocate_pagedir depends on it being contiguous.. Switching to link list is "just a simple matter of coding", but it is going to be quite a lot of changes. Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 14:59 ` Pavel Machek @ 2004-10-11 17:18 ` Stefan Seyfried 2004-10-11 19:58 ` Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Stefan Seyfried @ 2004-10-11 17:18 UTC (permalink / raw) To: Pavel Machek; +Cc: ncunningham, linux-kernel, pascal.schmidt Hi, Pavel Machek wrote: > Ok... And I guess it is nearly impossible to trigger this on demand, > right? Of course. I just wanted to say "yes, it does happen". I did not say fixing it would be easy ;-) Stefan ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 17:18 ` Stefan Seyfried @ 2004-10-11 19:58 ` Rafael J. Wysocki 2004-10-12 8:55 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-11 19:58 UTC (permalink / raw) To: linux-kernel; +Cc: Stefan Seyfried, Pavel Machek, ncunningham, pascal.schmidt On Monday 11 of October 2004 19:18, Stefan Seyfried wrote: > Hi, > > Pavel Machek wrote: > > > Ok... And I guess it is nearly impossible to trigger this on demand, > > right? I think it is possible. Seemingly, on my box it's only a question of the number of apps started. I think I can work out a method to trigger it 90% of the time or so. Please let me know if it's worthy of doing. Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-11 19:58 ` Rafael J. Wysocki @ 2004-10-12 8:55 ` Pavel Machek 2004-10-13 17:29 ` Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-12 8:55 UTC (permalink / raw) To: Rafael J. Wysocki Cc: linux-kernel, Stefan Seyfried, Pavel Machek, ncunningham, pascal.schmidt Hi! > > > Ok... And I guess it is nearly impossible to trigger this on demand, > > > right? > > I think it is possible. Seemingly, on my box it's only a question of the > number of apps started. I think I can work out a method to trigger it 90% of > the time or so. Please let me know if it's worthy of doing. Yes, it would certainly help with testing... Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 2.6.9-rc2-mm1 swsusp bug report. 2004-10-12 8:55 ` Pavel Machek @ 2004-10-13 17:29 ` Rafael J. Wysocki 2004-10-14 21:47 ` swsusp: 8-order allocation failure on demand (was: Re: 2.6.9-rc2-mm1 swsusp bug report.) Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-13 17:29 UTC (permalink / raw) To: Pavel Machek; +Cc: linux-kernel, Stefan Seyfried, ncunningham, pascal.schmidt On Tuesday 12 of October 2004 10:55, Pavel Machek wrote: > Hi! > > > > > Ok... And I guess it is nearly impossible to trigger this on demand, > > > > right? > > > > I think it is possible. Seemingly, on my box it's only a question of the > > number of apps started. I think I can work out a method to trigger it > > 90% of the time or so. Please let me know if it's worthy of doing. > > Yes, it would certainly help with testing... So far, the most reliable method seems to be to use the box for a day after a successful suspend/resume cycle (I've got an 8-order allocation failure 3 times out of 3 attempts). Still, I'm working on something that's less time-consuming. ;-) Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* swsusp: 8-order allocation failure on demand (was: Re: 2.6.9-rc2-mm1 swsusp bug report.) 2004-10-13 17:29 ` Rafael J. Wysocki @ 2004-10-14 21:47 ` Rafael J. Wysocki 2004-10-14 21:54 ` swsusp: 8-order allocation failure on demand (update) Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-14 21:47 UTC (permalink / raw) To: Pavel Machek; +Cc: linux-kernel, Stefan Seyfried, ncunningham, pascal.schmidt On Wednesday 13 of October 2004 19:29, Rafael J. Wysocki wrote: > On Tuesday 12 of October 2004 10:55, Pavel Machek wrote: > > Hi! > > > > > > > Ok... And I guess it is nearly impossible to trigger this on demand, > > > > > right? > > > > > > I think it is possible. Seemingly, on my box it's only a question of the > > > number of apps started. I think I can work out a method to trigger it > > > 90% of the time or so. Please let me know if it's worthy of doing. > > > > Yes, it would certainly help with testing... Well, I can do that, it seems, 100% of the time. The method is to do "init 5" (my default runlevel is 3, because vts become unreadable after I start X), log into KDE (as a non-root), start some X apps at random (eg. I run gkrellm, kmail, konqueror, Mozilla FireFox 32-bit w/ Flash plugin, and konsole with "su -") and run updatedb (as root, of course). Apparently, running updatedb is essential. After it finishes, on my box, you can forget of suspending to disk from under the X+KDE combo, even if the X apps (ie. kmail, konqueror, FireFox) are stopped before. However, if updatedb is not run, the box usually suspends successfully. Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-14 21:47 ` swsusp: 8-order allocation failure on demand (was: Re: 2.6.9-rc2-mm1 swsusp bug report.) Rafael J. Wysocki @ 2004-10-14 21:54 ` Rafael J. Wysocki 2004-10-16 16:43 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-14 21:54 UTC (permalink / raw) To: linux-kernel; +Cc: Pavel Machek, Stefan Seyfried, ncunningham, pascal.schmidt On Thursday 14 of October 2004 23:47, Rafael J. Wysocki wrote: > On Wednesday 13 of October 2004 19:29, Rafael J. Wysocki wrote: > > On Tuesday 12 of October 2004 10:55, Pavel Machek wrote: > > > Hi! > > > > > > > > > Ok... And I guess it is nearly impossible to trigger this on demand, > > > > > > right? > > > > > > > > I think it is possible. Seemingly, on my box it's only a question of > the > > > > number of apps started. I think I can work out a method to trigger it > > > > 90% of the time or so. Please let me know if it's worthy of doing. > > > > > > Yes, it would certainly help with testing... > > Well, I can do that, it seems, 100% of the time. > > The method is to do "init 5" (my default runlevel is 3, because vts become > unreadable after I start X), log into KDE (as a non-root), start some X apps > at random (eg. I run gkrellm, kmail, konqueror, Mozilla FireFox 32-bit w/ > Flash plugin, and konsole with "su -") and run updatedb (as root, of > course). To be precise, the method always leads to a failure, but it seems to be either 8-order or 9-order page allocation failure. Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-14 21:54 ` swsusp: 8-order allocation failure on demand (update) Rafael J. Wysocki @ 2004-10-16 16:43 ` Pavel Machek 2004-10-16 19:31 ` Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-16 16:43 UTC (permalink / raw) To: Rafael J. Wysocki Cc: linux-kernel, Stefan Seyfried, ncunningham, pascal.schmidt Hi! > > > > > > > Ok... And I guess it is nearly impossible to trigger this on > demand, > > > > > > > right? > > > > > > > > > > I think it is possible. Seemingly, on my box it's only a question of > > the > > > > > number of apps started. I think I can work out a method to trigger it > > > > > 90% of the time or so. Please let me know if it's worthy of doing. > > > > > > > > Yes, it would certainly help with testing... > > > > Well, I can do that, it seems, 100% of the time. > > > > The method is to do "init 5" (my default runlevel is 3, because vts become > > unreadable after I start X), log into KDE (as a non-root), start some X apps > > at random (eg. I run gkrellm, kmail, konqueror, Mozilla FireFox 32-bit w/ > > Flash plugin, and konsole with "su -") and run updatedb (as root, of > > course). > > To be precise, the method always leads to a failure, but it seems to be either > 8-order or 9-order page allocation failure. Okay, you could probably pre-allocate 512K block during bootup, then just use that instead of allocating new one during suspend. Unfortunately that's rather ugly. You'd ~32 bytes per 4K page, that's almost 1% overhead, not nice. Better solution (but more work) is to switch to link-lists or integrate swsusp2. Pavel -- Boycott Kodak -- for their patent abuse against Java. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-16 16:43 ` Pavel Machek @ 2004-10-16 19:31 ` Rafael J. Wysocki 2004-10-16 20:40 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-16 19:31 UTC (permalink / raw) To: Andrew Morton Cc: linux-kernel, ncunningham, pascal.schmidt, Pavel Machek, Stefan Seyfried On Saturday 16 of October 2004 18:43, Pavel Machek wrote: > Hi! > > > > > > > > > Ok... And I guess it is nearly impossible to trigger this on > > > > > > > > demand, right? > > > > > > > > > > > > I think it is possible. Seemingly, on my box it's only a question > > > > > > of the number of apps started. I think I can work out a method > > > > > > to trigger it 90% of the time or so. Please let me know if it's > > > > > > worthy of doing. > > > > > > > > > > Yes, it would certainly help with testing... > > > > > > Well, I can do that, it seems, 100% of the time. > > > > > > The method is to do "init 5" (my default runlevel is 3, because vts > > > become unreadable after I start X), log into KDE (as a non-root), > > > start some X apps at random (eg. I run gkrellm, kmail, konqueror, > > > Mozilla FireFox 32-bit w/ Flash plugin, and konsole with "su -") and > > > run updatedb (as root, of course). > > > > To be precise, the method always leads to a failure, but it seems to > > be either 8-order or 9-order page allocation failure. > > Okay, you could probably pre-allocate 512K block during bootup, then > just use that instead of allocating new one during suspend. > > Unfortunately that's rather ugly. You'd ~32 bytes per 4K page, that's > almost 1% overhead, not nice. Better solution (but more work) is to > switch to link-lists or integrate swsusp2. Well, I wonder if the page allocation failures are a swsusp problem, really. I've just tried it the other way around and ran updatedb _first_, then started X+KDE (no additional apps) and tried to suspend from under it. Guess what: a 9-order page allocation failure, here you go. It seems to me that updatedb leaves a mess in memory, which IMO should not happen or at least the kernel should be able to clean it, but apparently it is not. I'd be grateful if someone could explain to me why that is so, please. Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-16 19:31 ` Rafael J. Wysocki @ 2004-10-16 20:40 ` Pavel Machek 2004-10-16 21:05 ` Rafael J. Wysocki 0 siblings, 1 reply; 20+ messages in thread From: Pavel Machek @ 2004-10-16 20:40 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Andrew Morton, linux-kernel, ncunningham, pascal.schmidt, Stefan Seyfried Hi! > > Unfortunately that's rather ugly. You'd ~32 bytes per 4K page, that's > > almost 1% overhead, not nice. Better solution (but more work) is to > > switch to link-lists or integrate swsusp2. > > Well, I wonder if the page allocation failures are a swsusp problem, > really. Yes, they are. Kernel memory allocation is not design to do 8-order allocations properly. swsusp really should not use them. Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-16 20:40 ` Pavel Machek @ 2004-10-16 21:05 ` Rafael J. Wysocki 2004-10-16 21:25 ` Pavel Machek 0 siblings, 1 reply; 20+ messages in thread From: Rafael J. Wysocki @ 2004-10-16 21:05 UTC (permalink / raw) To: Pavel Machek; +Cc: linux-kernel, ncunningham On Saturday 16 of October 2004 22:40, Pavel Machek wrote: > Hi! > > > > Unfortunately that's rather ugly. You'd ~32 bytes per 4K page, that's > > > almost 1% overhead, not nice. Better solution (but more work) is to > > > switch to link-lists or integrate swsusp2. > > > > Well, I wonder if the page allocation failures are a swsusp problem, > > really. > > Yes, they are. Kernel memory allocation is not design to do 8-order > allocations properly. swsusp really should not use them. Now that's clear, thanks. Could you tell me, please, what I need to know to understand the swsusp code and what I should start with? Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland" ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: swsusp: 8-order allocation failure on demand (update) 2004-10-16 21:05 ` Rafael J. Wysocki @ 2004-10-16 21:25 ` Pavel Machek 0 siblings, 0 replies; 20+ messages in thread From: Pavel Machek @ 2004-10-16 21:25 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: linux-kernel, ncunningham Hi! > > > > Unfortunately that's rather ugly. You'd ~32 bytes per 4K page, that's > > > > almost 1% overhead, not nice. Better solution (but more work) is to > > > > switch to link-lists or integrate swsusp2. > > > > > > Well, I wonder if the page allocation failures are a swsusp problem, > > > really. > > > > Yes, they are. Kernel memory allocation is not design to do 8-order > > allocations properly. swsusp really should not use them. > > Now that's clear, thanks. Could you tell me, please, what I need to know to > understand the swsusp code and what I should start with? On bootup, prealloc, say, order-9 alocation. In alloc_pagedir(), do not allocate anything, but check that data fit in preallocated area, and fail if not. There's free_pages( pagedir_save, ...) somewhere, remove that so pagedir is never freed and you can resume multiple times. Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2004-10-17 21:43 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <2HO0C-4xh-29@gated-at.bofh.it>
[not found] ` <2I5b2-88s-15@gated-at.bofh.it>
[not found] ` <2I5E5-6h-19@gated-at.bofh.it>
[not found] ` <2I7Zd-1TK-11@gated-at.bofh.it>
2004-09-25 1:05 ` 2.6.9-rc2-mm1 swsusp bug report Pascal Schmidt
2004-09-25 10:16 ` Pavel Machek
2004-10-10 18:17 ` Jan Rychter
2004-10-11 13:32 ` Pavel Machek
2004-10-11 14:53 ` Jan Rychter
2004-10-17 19:10 ` Pavel Machek
2004-10-17 21:40 ` Nigel Cunningham
2004-10-11 9:56 ` Stefan Seyfried
2004-10-11 14:59 ` Pavel Machek
2004-10-11 17:18 ` Stefan Seyfried
2004-10-11 19:58 ` Rafael J. Wysocki
2004-10-12 8:55 ` Pavel Machek
2004-10-13 17:29 ` Rafael J. Wysocki
2004-10-14 21:47 ` swsusp: 8-order allocation failure on demand (was: Re: 2.6.9-rc2-mm1 swsusp bug report.) Rafael J. Wysocki
2004-10-14 21:54 ` swsusp: 8-order allocation failure on demand (update) Rafael J. Wysocki
2004-10-16 16:43 ` Pavel Machek
2004-10-16 19:31 ` Rafael J. Wysocki
2004-10-16 20:40 ` Pavel Machek
2004-10-16 21:05 ` Rafael J. Wysocki
2004-10-16 21:25 ` Pavel Machek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®