* swsusp: Not enough free pages @ 2005-05-24 16:05 Yu, Luming 2005-05-24 16:55 ` Stefan Seyfried 0 siblings, 1 reply; 16+ messages in thread From: Yu, Luming @ 2005-05-24 16:05 UTC (permalink / raw) To: pavel; +Cc: ACPI devel, linux-pm [-- Attachment #1: Type: text/plain, Size: 337 bytes --] Hi Pavel, I got this error when I'm hacking suspend-to-disk on my IA64 box with 1G memory. (Pagesize 64K,MemTotal: 1002112 kB ,MemFree: 395008 kB) Do you plan to improve it by compressing pages ? swsusp: Need to copy 9878 pages suspend: (pages needed: 9878 + 512 free: 6486) swsusp: Not enough free pages: Have 6486 Thanks Luming [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: swsusp: Not enough free pages 2005-05-24 16:05 swsusp: Not enough free pages Yu, Luming @ 2005-05-24 16:55 ` Stefan Seyfried [not found] ` <20050525012040.GA6145@linux.sh.intel.com> 0 siblings, 1 reply; 16+ messages in thread From: Stefan Seyfried @ 2005-05-24 16:55 UTC (permalink / raw) To: Yu, Luming; +Cc: ACPI devel, linux-pm Yu, Luming wrote: > Hi Pavel, > > I got this error when I'm hacking suspend-to-disk on my IA64 box with 1G > memory. > (Pagesize 64K,MemTotal: 1002112 kB ,MemFree: 395008 kB) > Do you plan to improve it by compressing pages ? > > swsusp: Need to copy 9878 pages > suspend: (pages needed: 9878 + 512 free: 6486) > swsusp: Not enough free pages: Have 6486 I have not seen one of those for a long time (on i386). Does this happen every time? Can you tell from the log if free_some_memory actually freed some memory? -- Stefan Seyfried QA / R&D Team Mobile Devices | "Any ideas, John?" SUSE LINUX Products GmbH, Nürnberg | "Well, surrounding them's out." ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050525012040.GA6145@linux.sh.intel.com>]
* Re: swsusp: Not enough free pages [not found] ` <20050525012040.GA6145@linux.sh.intel.com> @ 2005-05-30 9:14 ` Yu, Luming 2005-05-30 15:01 ` Pavel Machek 0 siblings, 1 reply; 16+ messages in thread From: Yu, Luming @ 2005-05-30 9:14 UTC (permalink / raw) To: Stefan Seyfried, ACPI devel, linux-pm, Pavel Machek [-- Attachment #1: Type: text/plain, Size: 862 bytes --] On 2005.05.25 09:20:41 +0800, Yu, Luming wrote: > On 2005.05.25 00:55:14 +0800, Stefan Seyfried wrote: > > > > Yu, Luming wrote: > > > Hi Pavel, > > > > > > I got this error when I'm hacking suspend-to-disk on my IA64 box > > with 1G > > > memory. > > > (Pagesize 64K,MemTotal: 1002112 kB ,MemFree: 395008 kB) > > > Do you plan to improve it by compressing pages ? > > > > > > swsusp: Need to copy 9878 pages > > > suspend: (pages needed: 9878 + 512 free: 6486) > > > swsusp: Not enough free pages: Have 6486 > > I have not seen one of those for a long time (on i386). Does this > > happen > > every time? > > So far, yes. I just tried 2 times. always. (I check that swap dev is on) Sometimes, my ia32 laptop free 0 pages too. I think we should always free some pages from various caches. Thanks, Luming [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: swsusp: Not enough free pages 2005-05-30 9:14 ` Yu, Luming @ 2005-05-30 15:01 ` Pavel Machek [not found] ` <20050530150157.GC2207-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> 2005-06-06 6:39 ` Yu, Luming 0 siblings, 2 replies; 16+ messages in thread From: Pavel Machek @ 2005-05-30 15:01 UTC (permalink / raw) To: Stefan Seyfried, ACPI devel, linux-pm [-- Attachment #1: Type: text/plain, Size: 1880 bytes --] Hi! > > > > I got this error when I'm hacking suspend-to-disk on my IA64 box > > > with 1G > > > > memory. > > > > (Pagesize 64K,MemTotal: 1002112 kB ,MemFree: 395008 kB) > > > > Do you plan to improve it by compressing pages ? > > > > > > > > swsusp: Need to copy 9878 pages > > > > suspend: (pages needed: 9878 + 512 free: 6486) > > > > swsusp: Not enough free pages: Have 6486 > > > I have not seen one of those for a long time (on i386). Does this > > > happen > > > every time? > > > > So far, yes. I just tried 2 times. > > always. (I check that swap dev is on) > > Sometimes, my ia32 laptop free 0 pages too. > I think we should always free some pages > from various caches. Try this hack... it is basically mm problem I don't know how to fix, but this seems to help. Pavel Index: kernel/power/disk.c =================================================================== --- 805a02ec2bcff3671d7b1e701bd1981ad2fa196c/kernel/power/disk.c (mode:100644) +++ ecd8559cc08319bb16a42aac06cf7d664157643a/kernel/power/disk.c (mode:100644) @@ -88,23 +92,25 @@ static void free_some_memory(void) { - unsigned int i = 0; - unsigned int tmp; - unsigned long pages = 0; - char *p = "-\\|/"; - - printk("Freeing memory... "); - while ((tmp = shrink_all_memory(10000))) { - pages += tmp; - printk("\b%c", p[i]); - i++; - if (i > 3) - i = 0; + int i; + for (i=0; i<5; i++) { + int i = 0, tmp; + long pages = 0; + char *p = "-\\|/"; + + printk("Freeing memory... "); + while ((tmp = shrink_all_memory(10000))) { + pages += tmp; + printk("\b%c", p[i]); + i++; + if (i > 3) + i = 0; + } + printk("\bdone (%li pages freed)\n", pages); + msleep_interruptible(200); } - printk("\bdone (%li pages freed)\n", pages); } - static inline void platform_finish(void) { if (pm_disk_mode == PM_DISK_PLATFORM) { [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050530150157.GC2207-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>]
* Re: Re: swsusp: Not enough free pages [not found] ` <20050530150157.GC2207-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> @ 2005-05-30 17:01 ` James Sparenberg 0 siblings, 0 replies; 16+ messages in thread From: James Sparenberg @ 2005-05-30 17:01 UTC (permalink / raw) To: ACPI On Mon, 2005-05-30 at 17:01 +0200, Pavel Machek wrote: > Hi! > > > > > > I got this error when I'm hacking suspend-to-disk on my IA64 box > > > > with 1G > > > > > memory. > > > > > (Pagesize 64K,MemTotal: 1002112 kB ,MemFree: 395008 kB) > > > > > Do you plan to improve it by compressing pages ? > > > > > > > > > > swsusp: Need to copy 9878 pages > > > > > suspend: (pages needed: 9878 + 512 free: 6486) > > > > > swsusp: Not enough free pages: Have 6486 > > > > I have not seen one of those for a long time (on i386). Does this > > > > happen > > > > every time? > > > > > > So far, yes. I just tried 2 times. > > > > always. (I check that swap dev is on) > > > > Sometimes, my ia32 laptop free 0 pages too. > > I think we should always free some pages > > from various caches. On other laptops, where ACPI is working for the most part (It does what the user needs done.) I've seen this when the user is suspending for the 3rd or 4th time since the last reboot. At that point I've found that if they either 1. Power cycle 2. turn off swap. run mkswap turn swap back on Then things progress as expected. The box suspends. I've also had one box that had a "dedicated" suspend swap area (The user created a suspend swap because of something he read) and this box rarely seemed to have problems of this type. (Rarely defined as he claims it doesn't happen very often.) James ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-05-30 15:01 ` Pavel Machek [not found] ` <20050530150157.GC2207-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> @ 2005-06-06 6:39 ` Yu, Luming 2005-06-06 10:39 ` [linux-pm] " Pavel Machek 1 sibling, 1 reply; 16+ messages in thread From: Yu, Luming @ 2005-06-06 6:39 UTC (permalink / raw) To: Linux Kernel List; +Cc: ACPI devel, linux-pm [-- Attachment #1: Type: text/plain, Size: 1776 bytes --] > > > So far, yes. I just tried 2 times. > > > > always. (I check that swap dev is on) > > > > Sometimes, my ia32 laptop free 0 pages too. > > I think we should always free some pages > > from various caches. > > Try this hack... it is basically mm problem I don't know how to fix, > but this seems to help. > Pavel Thanks Pavel, this hack works. .. Freeing memory... ^Hdone (0 pages freed) Freeing memory... ^H-^Hdone (4636 pages freed) Freeing memory... ^Hdone (0 pages freed) Freeing memory... ^H-^Hdone (914 pages freed) Freeing memory... ^Hdone (0 pages freed) Freezing CPUs (at 0)...ok Any mm guru know how to fix this? > > Index: kernel/power/disk.c > =================================================================== > --- 805a02ec2bcff3671d7b1e701bd1981ad2fa196c/kernel/power/disk.c > (mode:100644) +++ > ecd8559cc08319bb16a42aac06cf7d664157643a/kernel/power/disk.c (mode:100644) > @@ -88,23 +92,25 @@ > > static void free_some_memory(void) > { > - unsigned int i = 0; > - unsigned int tmp; > - unsigned long pages = 0; > - char *p = "-\\|/"; > - > - printk("Freeing memory... "); > - while ((tmp = shrink_all_memory(10000))) { > - pages += tmp; > - printk("\b%c", p[i]); > - i++; > - if (i > 3) > - i = 0; > + int i; > + for (i=0; i<5; i++) { > + int i = 0, tmp; > + long pages = 0; > + char *p = "-\\|/"; > + > + printk("Freeing memory... "); > + while ((tmp = shrink_all_memory(10000))) { > + pages += tmp; > + printk("\b%c", p[i]); > + i++; > + if (i > 3) > + i = 0; > + } > + printk("\bdone (%li pages freed)\n", pages); > + msleep_interruptible(200); > } > - printk("\bdone (%li pages freed)\n", pages); > } > > - > static inline void platform_finish(void) > { > if (pm_disk_mode == PM_DISK_PLATFORM) { [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [linux-pm] Re: swsusp: Not enough free pages 2005-06-06 6:39 ` Yu, Luming @ 2005-06-06 10:39 ` Pavel Machek [not found] ` <20050606103936.GA2520-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Pavel Machek @ 2005-06-06 10:39 UTC (permalink / raw) To: Yu, Luming, Andrew Morton; +Cc: Linux Kernel List, ACPI devel, linux-pm Hi! > > > > So far, yes. I just tried 2 times. > > > > > > always. (I check that swap dev is on) > > > > > > Sometimes, my ia32 laptop free 0 pages too. > > > I think we should always free some pages > > > from various caches. > > > > Try this hack... it is basically mm problem I don't know how to fix, > > but this seems to help. > > Pavel > > Thanks Pavel, this hack works. > .. > Freeing memory... ^Hdone (0 pages freed) > Freeing memory... ^H-^Hdone (4636 pages freed) > Freeing memory... ^Hdone (0 pages freed) > Freeing memory... ^H-^Hdone (914 pages freed) > Freeing memory... ^Hdone (0 pages freed) > Freezing CPUs (at 0)...ok > > Any mm guru know how to fix this? Andrew, can you help? It seems free_some_memory does not really free all reclaimable memory in recent kernels. In fact, it likes to free nothing on first invocations.... Pausing and trying few times helps, but is *very* ugly. Pavel > > Index: kernel/power/disk.c > > =================================================================== > > --- 805a02ec2bcff3671d7b1e701bd1981ad2fa196c/kernel/power/disk.c > > (mode:100644) +++ > > ecd8559cc08319bb16a42aac06cf7d664157643a/kernel/power/disk.c (mode:100644) > > @@ -88,23 +92,25 @@ > > > > static void free_some_memory(void) > > { > > - unsigned int i = 0; > > - unsigned int tmp; > > - unsigned long pages = 0; > > - char *p = "-\\|/"; > > - > > - printk("Freeing memory... "); > > - while ((tmp = shrink_all_memory(10000))) { > > - pages += tmp; > > - printk("\b%c", p[i]); > > - i++; > > - if (i > 3) > > - i = 0; > > + int i; > > + for (i=0; i<5; i++) { > > + int i = 0, tmp; > > + long pages = 0; > > + char *p = "-\\|/"; > > + > > + printk("Freeing memory... "); > > + while ((tmp = shrink_all_memory(10000))) { > > + pages += tmp; > > + printk("\b%c", p[i]); > > + i++; > > + if (i > 3) > > + i = 0; > > + } > > + printk("\bdone (%li pages freed)\n", pages); > > + msleep_interruptible(200); > > } > > - printk("\bdone (%li pages freed)\n", pages); > > } > > > > - > > static inline void platform_finish(void) > > { > > if (pm_disk_mode == PM_DISK_PLATFORM) { > > _______________________________________________ > linux-pm mailing list > linux-pm@lists.osdl.org > http://lists.osdl.org/mailman/listinfo/linux-pm -- ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050606103936.GA2520-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>]
* Re: [linux-pm] Re: swsusp: Not enough free pages [not found] ` <20050606103936.GA2520-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> @ 2005-06-06 17:02 ` Rafael J. Wysocki 2005-06-06 17:14 ` Pavel Machek 0 siblings, 1 reply; 16+ messages in thread From: Rafael J. Wysocki @ 2005-06-06 17:02 UTC (permalink / raw) To: linux-pm-qjLDD68F18O7TbgM5vRIOg Cc: Pavel Machek, Yu, Luming, Andrew Morton, ACPI devel, Linux Kernel List Hi, On Monday, 6 of June 2005 12:39, Pavel Machek wrote: > Hi! > > > > > > So far, yes. I just tried 2 times. > > > > > > > > always. (I check that swap dev is on) > > > > > > > > Sometimes, my ia32 laptop free 0 pages too. > > > > I think we should always free some pages > > > > from various caches. > > > > > > Try this hack... it is basically mm problem I don't know how to fix, > > > but this seems to help. > > > Pavel > > > > Thanks Pavel, this hack works. > > .. > > Freeing memory... ^Hdone (0 pages freed) > > Freeing memory... ^H-^Hdone (4636 pages freed) > > Freeing memory... ^Hdone (0 pages freed) > > Freeing memory... ^H-^Hdone (914 pages freed) > > Freeing memory... ^Hdone (0 pages freed) > > Freezing CPUs (at 0)...ok > > > > Any mm guru know how to fix this? > > Andrew, can you help? It seems free_some_memory does not really free > all reclaimable memory in recent kernels. In fact, it likes to free > nothing on first invocations.... Actually, on (my) x86-64 it seems to work. It frees even more memory than I'd like it to (there's 80-90% of RAM free after it's finished). ;-) If I had to guess, I'd say the problem is related to PAGE_SIZE != 4096. Greets, Rafael > Pausing and trying few times helps, but is *very* ugly. > Pavel > > > > Index: kernel/power/disk.c > > > =================================================================== > > > --- 805a02ec2bcff3671d7b1e701bd1981ad2fa196c/kernel/power/disk.c > > > (mode:100644) +++ > > > ecd8559cc08319bb16a42aac06cf7d664157643a/kernel/power/disk.c (mode:100644) > > > @@ -88,23 +92,25 @@ > > > > > > static void free_some_memory(void) > > > { > > > - unsigned int i = 0; > > > - unsigned int tmp; > > > - unsigned long pages = 0; > > > - char *p = "-\\|/"; > > > - > > > - printk("Freeing memory... "); > > > - while ((tmp = shrink_all_memory(10000))) { > > > - pages += tmp; > > > - printk("\b%c", p[i]); > > > - i++; > > > - if (i > 3) > > > - i = 0; > > > + int i; > > > + for (i=0; i<5; i++) { > > > + int i = 0, tmp; > > > + long pages = 0; > > > + char *p = "-\\|/"; > > > + > > > + printk("Freeing memory... "); > > > + while ((tmp = shrink_all_memory(10000))) { > > > + pages += tmp; > > > + printk("\b%c", p[i]); > > > + i++; > > > + if (i > 3) > > > + i = 0; > > > + } > > > + printk("\bdone (%li pages freed)\n", pages); > > > + msleep_interruptible(200); > > > } > > > - printk("\bdone (%li pages freed)\n", pages); > > > } > > > > > > - > > > static inline void platform_finish(void) > > > { > > > if (pm_disk_mode == PM_DISK_PLATFORM) { > > > > > _______________________________________________ > > linux-pm mailing list > > linux-pm-qjLDD68F18O7TbgM5vRIOg@public.gmane.org > > http://lists.osdl.org/mailman/listinfo/linux-pm > > > -- > -- - 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" ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-06-06 17:02 ` Rafael J. Wysocki @ 2005-06-06 17:14 ` Pavel Machek 2005-06-06 21:46 ` Rafael J. Wysocki 0 siblings, 1 reply; 16+ messages in thread From: Pavel Machek @ 2005-06-06 17:14 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: ACPI devel, linux-pm, Linux Kernel List, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 2927 bytes --] Hi! > > > > > > So far, yes. I just tried 2 times. > > > > > > > > > > always. (I check that swap dev is on) > > > > > > > > > > Sometimes, my ia32 laptop free 0 pages too. > > > > > I think we should always free some pages > > > > > from various caches. > > > > > > > > Try this hack... it is basically mm problem I don't know how to fix, > > > > but this seems to help. > > > > Pavel > > > > > > Thanks Pavel, this hack works. > > > .. > > > Freeing memory... ^Hdone (0 pages freed) > > > Freeing memory... ^H-^Hdone (4636 pages freed) > > > Freeing memory... ^Hdone (0 pages freed) > > > Freeing memory... ^H-^Hdone (914 pages freed) > > > Freeing memory... ^Hdone (0 pages freed) > > > Freezing CPUs (at 0)...ok > > > > > > Any mm guru know how to fix this? > > > > Andrew, can you help? It seems free_some_memory does not really free > > all reclaimable memory in recent kernels. In fact, it likes to free > > nothing on first invocations.... > > Actually, on (my) x86-64 it seems to work. It frees even more memory than > I'd like it to (there's 80-90% of RAM free after it's finished). ;-) > > If I had to guess, I'd say the problem is related to PAGE_SIZE != >4096. No, I see it on i386, too. Try patch below; if it frees some after first pass, you have that problem, too. Pavel > > > > Index: kernel/power/disk.c > > > > =================================================================== > > > > --- 805a02ec2bcff3671d7b1e701bd1981ad2fa196c/kernel/power/disk.c > > > > (mode:100644) +++ > > > > ecd8559cc08319bb16a42aac06cf7d664157643a/kernel/power/disk.c (mode:100644) > > > > @@ -88,23 +92,25 @@ > > > > > > > > static void free_some_memory(void) > > > > { > > > > - unsigned int i = 0; > > > > - unsigned int tmp; > > > > - unsigned long pages = 0; > > > > - char *p = "-\\|/"; > > > > - > > > > - printk("Freeing memory... "); > > > > - while ((tmp = shrink_all_memory(10000))) { > > > > - pages += tmp; > > > > - printk("\b%c", p[i]); > > > > - i++; > > > > - if (i > 3) > > > > - i = 0; > > > > + int i; > > > > + for (i=0; i<5; i++) { > > > > + int i = 0, tmp; > > > > + long pages = 0; > > > > + char *p = "-\\|/"; > > > > + > > > > + printk("Freeing memory... "); > > > > + while ((tmp = shrink_all_memory(10000))) { > > > > + pages += tmp; > > > > + printk("\b%c", p[i]); > > > > + i++; > > > > + if (i > 3) > > > > + i = 0; > > > > + } > > > > + printk("\bdone (%li pages freed)\n", pages); > > > > + msleep_interruptible(200); > > > > } > > > > - printk("\bdone (%li pages freed)\n", pages); > > > > } > > > > > > > > - > > > > static inline void platform_finish(void) > > > > { > > > > if (pm_disk_mode == PM_DISK_PLATFORM) { > > > > > > > > _______________________________________________ > > > linux-pm mailing list > > > linux-pm@lists.osdl.org > > > http://lists.osdl.org/mailman/listinfo/linux-pm > > > > > > -- > > > -- [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-06-06 17:14 ` Pavel Machek @ 2005-06-06 21:46 ` Rafael J. Wysocki 2005-06-06 21:58 ` Pavel Machek 0 siblings, 1 reply; 16+ messages in thread From: Rafael J. Wysocki @ 2005-06-06 21:46 UTC (permalink / raw) To: Pavel Machek; +Cc: ACPI devel, linux-pm, Linux Kernel List, Andrew Morton Hi, On Monday, 6 of June 2005 19:14, Pavel Machek wrote: > Hi! > > > > > > > > So far, yes. I just tried 2 times. > > > > > > > > > > > > always. (I check that swap dev is on) > > > > > > > > > > > > Sometimes, my ia32 laptop free 0 pages too. > > > > > > I think we should always free some pages > > > > > > from various caches. > > > > > > > > > > Try this hack... it is basically mm problem I don't know how to fix, > > > > > but this seems to help. > > > > > Pavel > > > > > > > > Thanks Pavel, this hack works. > > > > .. > > > > Freeing memory... ^Hdone (0 pages freed) > > > > Freeing memory... ^H-^Hdone (4636 pages freed) > > > > Freeing memory... ^Hdone (0 pages freed) > > > > Freeing memory... ^H-^Hdone (914 pages freed) > > > > Freeing memory... ^Hdone (0 pages freed) > > > > Freezing CPUs (at 0)...ok > > > > > > > > Any mm guru know how to fix this? > > > > > > Andrew, can you help? It seems free_some_memory does not really free > > > all reclaimable memory in recent kernels. In fact, it likes to free > > > nothing on first invocations.... > > > > Actually, on (my) x86-64 it seems to work. It frees even more memory than > > I'd like it to (there's 80-90% of RAM free after it's finished). ;-) > > > > If I had to guess, I'd say the problem is related to PAGE_SIZE != > >4096. > > No, I see it on i386, too. Try patch below; if it frees some after > first pass, you have that problem, too. I've run it once and the result is this: Freeing memory... done (75876 pages freed) Freeing memory... done (1536 pages freed) Freeing memory... done (0 pages freed) Freeing memory... done (1792 pages freed) Freeing memory... done (0 pages freed) It does free some pages after the first pass, but this is only a small fraction of all pages freed. I wouldn't call it a bad result ... Greets, Rafael -- - 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] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-06-06 21:46 ` Rafael J. Wysocki @ 2005-06-06 21:58 ` Pavel Machek [not found] ` <20050606215815.GO2230-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Pavel Machek @ 2005-06-06 21:58 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: ACPI devel, linux-pm, Linux Kernel List, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 732 bytes --] Hi! > > No, I see it on i386, too. Try patch below; if it frees some after > > first pass, you have that problem, too. > > I've run it once and the result is this: > > Freeing memory... done (75876 pages freed) > Freeing memory... done (1536 pages freed) > Freeing memory... done (0 pages freed) > Freeing memory... done (1792 pages freed) > Freeing memory... done (0 pages freed) > > It does free some pages after the first pass, but this is only a small fraction > of all pages freed. I wouldn't call it a bad result ... Well, it still did not free all memory it should have freed, and you were lucky. Apparently for some people it does not that well (and that includes me, I see 0 in first pass quite often). Pavel [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050606215815.GO2230-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>]
* Re: [linux-pm] Re: swsusp: Not enough free pages [not found] ` <20050606215815.GO2230-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org> @ 2005-06-07 10:39 ` Rafael J. Wysocki [not found] ` <200506071239.10125.rjw-KKrjLPT3xs0@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Rafael J. Wysocki @ 2005-06-07 10:39 UTC (permalink / raw) To: Pavel Machek Cc: linux-pm-qjLDD68F18O7TbgM5vRIOg, Yu, Luming, Andrew Morton, ACPI devel, Linux Kernel List Hi, On Monday, 6 of June 2005 23:58, Pavel Machek wrote: > Hi! > > > > No, I see it on i386, too. Try patch below; if it frees some after > > > first pass, you have that problem, too. > > > > I've run it once and the result is this: > > > > Freeing memory... done (75876 pages freed) > > Freeing memory... done (1536 pages freed) > > Freeing memory... done (0 pages freed) > > Freeing memory... done (1792 pages freed) > > Freeing memory... done (0 pages freed) > > > > It does free some pages after the first pass, but this is only a small fraction > > of all pages freed. I wouldn't call it a bad result ... > > Well, it still did not free all memory it should have freed, and you > were lucky. This is a reproducible behavior. Here goes the result for another suspend: Freeing memory... done (136611 pages freed) Freeing memory... done (200 pages freed) Freeing memory... done (128 pages freed) Freeing memory... done (0 pages freed) Freeing memory... done (2353 pages freed) and it is always like that. It usually frees more than 100000 pages in the first pass and about 5% more in the next passes together. > Apparently for some people it does not that well (and that > includes me, I see 0 in first pass quite often). On 2.6.12-rc3+ I have never seen 0 in the first pass. In fact, with X running I have never seen less than 60000. :-) Perhaps there's a bug that does not hit x86-64 for some reason. I'll try to run it on my second box later today and see what happens. Anyway, I think we need to collect some statistics. Greets, Rafael -- - 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" ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <200506071239.10125.rjw-KKrjLPT3xs0@public.gmane.org>]
* Re: [linux-pm] Re: swsusp: Not enough free pages [not found] ` <200506071239.10125.rjw-KKrjLPT3xs0@public.gmane.org> @ 2005-06-08 15:02 ` Rafael J. Wysocki 2005-06-08 16:27 ` Pavel Machek 0 siblings, 1 reply; 16+ messages in thread From: Rafael J. Wysocki @ 2005-06-08 15:02 UTC (permalink / raw) To: Pavel Machek Cc: linux-pm-qjLDD68F18O7TbgM5vRIOg, Yu, Luming, Andrew Morton, ACPI devel, Linux Kernel List Hi, On Tuesday, 7 of June 2005 12:39, Rafael J. Wysocki wrote: > On Monday, 6 of June 2005 23:58, Pavel Machek wrote: > > Hi! > > > > > > No, I see it on i386, too. Try patch below; if it frees some after > > > > first pass, you have that problem, too. > > > > > > I've run it once and the result is this: > > > > > > Freeing memory... done (75876 pages freed) > > > Freeing memory... done (1536 pages freed) > > > Freeing memory... done (0 pages freed) > > > Freeing memory... done (1792 pages freed) > > > Freeing memory... done (0 pages freed) > > > > > > It does free some pages after the first pass, but this is only a small fraction > > > of all pages freed. I wouldn't call it a bad result ... > > > > Well, it still did not free all memory it should have freed, and you > > were lucky. > > This is a reproducible behavior. Here goes the result for another suspend: > > Freeing memory... done (136611 pages freed) > Freeing memory... done (200 pages freed) > Freeing memory... done (128 pages freed) > Freeing memory... done (0 pages freed) > Freeing memory... done (2353 pages freed) > > and it is always like that. It usually frees more than 100000 pages > in the first pass and about 5% more in the next passes together. > > > Apparently for some people it does not that well (and that > > includes me, I see 0 in first pass quite often). > > On 2.6.12-rc3+ I have never seen 0 in the first pass. In fact, with X running > I have never seen less than 60000. :-) > > Perhaps there's a bug that does not hit x86-64 for some reason. I'll try to > run it on my second box later today and see what happens. This is the worst result from the second box: Freeing memory... done (54641 pages freed) Freeing memory... done (0 pages freed) Freeing memory... done (5120 pages freed) Freeing memory... done (1952 pages freed) Freeing memory... done (2304 pages freed) Still, there are 5x more pages freed in the first pass (80% of RAM was empty anyway before suspend), and usually it is 10-20x more or so. AFAICT, on x86-64 shrink_all_memory(10000) is good enough. Greets, Rafael -- - 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" ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-06-08 15:02 ` Rafael J. Wysocki @ 2005-06-08 16:27 ` Pavel Machek 2005-06-08 21:42 ` [linux-pm] " Rafael J. Wysocki 0 siblings, 1 reply; 16+ messages in thread From: Pavel Machek @ 2005-06-08 16:27 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: Andrew Morton, linux-pm, ACPI devel, Linux Kernel List [-- Attachment #1: Type: text/plain, Size: 2193 bytes --] Hi! > > > > > No, I see it on i386, too. Try patch below; if it frees some after > > > > > first pass, you have that problem, too. > > > > > > > > I've run it once and the result is this: > > > > > > > > Freeing memory... done (75876 pages freed) > > > > Freeing memory... done (1536 pages freed) > > > > Freeing memory... done (0 pages freed) > > > > Freeing memory... done (1792 pages freed) > > > > Freeing memory... done (0 pages freed) > > > > > > > > It does free some pages after the first pass, but this is only a small fraction > > > > of all pages freed. I wouldn't call it a bad result ... > > > > > > Well, it still did not free all memory it should have freed, and you > > > were lucky. > > > > This is a reproducible behavior. Here goes the result for another suspend: > > > > Freeing memory... done (136611 pages freed) > > Freeing memory... done (200 pages freed) > > Freeing memory... done (128 pages freed) > > Freeing memory... done (0 pages freed) > > Freeing memory... done (2353 pages freed) > > > > and it is always like that. It usually frees more than 100000 pages > > in the first pass and about 5% more in the next passes together. > > > > > Apparently for some people it does not that well (and that > > > includes me, I see 0 in first pass quite often). > > > > On 2.6.12-rc3+ I have never seen 0 in the first pass. In fact, with X running > > I have never seen less than 60000. :-) > > > > Perhaps there's a bug that does not hit x86-64 for some reason. I'll try to > > run it on my second box later today and see what happens. > > This is the worst result from the second box: > > Freeing memory... done (54641 pages freed) > Freeing memory... done (0 pages freed) > Freeing memory... done (5120 pages freed) > Freeing memory... done (1952 pages freed) > Freeing memory... done (2304 pages freed) > > Still, there are 5x more pages freed in the first pass (80% of RAM was > empty anyway before suspend), and usually it is 10-20x more or so. I have seen 0 freed on i386 machine with preempt -rc6-mm1, today... Something is definitely wrong there. Pavel -- 64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [linux-pm] Re: swsusp: Not enough free pages 2005-06-08 16:27 ` Pavel Machek @ 2005-06-08 21:42 ` Rafael J. Wysocki 2005-06-08 22:03 ` Pavel Machek 0 siblings, 1 reply; 16+ messages in thread From: Rafael J. Wysocki @ 2005-06-08 21:42 UTC (permalink / raw) To: Pavel Machek Cc: linux-pm, Yu, Luming, Andrew Morton, ACPI devel, Linux Kernel List Hi, On Wednesday, 8 of June 2005 18:27, Pavel Machek wrote: > Hi! > ]--snip--[ > > > > This is the worst result from the second box: > > > > Freeing memory... done (54641 pages freed) > > Freeing memory... done (0 pages freed) > > Freeing memory... done (5120 pages freed) > > Freeing memory... done (1952 pages freed) > > Freeing memory... done (2304 pages freed) > > > > Still, there are 5x more pages freed in the first pass (80% of RAM was > > empty anyway before suspend), and usually it is 10-20x more or so. > > I have seen 0 freed on i386 machine with preempt -rc6-mm1, today... > Something is definitely wrong there. Well, I have compiled the kernel with preempt and retested (on -rc6) but it doesn't want to get worse. :-) The problem seems to be arch-dependent or at least configuration-dependent ... Hm, how much RAM is there in your box? Rafael -- - 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] 16+ messages in thread
* Re: Re: swsusp: Not enough free pages 2005-06-08 21:42 ` [linux-pm] " Rafael J. Wysocki @ 2005-06-08 22:03 ` Pavel Machek 0 siblings, 0 replies; 16+ messages in thread From: Pavel Machek @ 2005-06-08 22:03 UTC (permalink / raw) To: Rafael J. Wysocki; +Cc: ACPI devel, linux-pm, Linux Kernel List, Andrew Morton [-- Attachment #1: Type: text/plain, Size: 862 bytes --] Hi! > > > This is the worst result from the second box: > > > > > > Freeing memory... done (54641 pages freed) > > > Freeing memory... done (0 pages freed) > > > Freeing memory... done (5120 pages freed) > > > Freeing memory... done (1952 pages freed) > > > Freeing memory... done (2304 pages freed) > > > > > > Still, there are 5x more pages freed in the first pass (80% of RAM was > > > empty anyway before suspend), and usually it is 10-20x more or so. > > > > I have seen 0 freed on i386 machine with preempt -rc6-mm1, today... > > Something is definitely wrong there. > > Well, I have compiled the kernel with preempt and retested (on -rc6) but it > doesn't want to get worse. :-) > > The problem seems to be arch-dependent or at least configuration-dependent ... > > Hm, how much RAM is there in your box? This was on 2GB box... Pavel [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2005-06-08 22:03 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-24 16:05 swsusp: Not enough free pages Yu, Luming
2005-05-24 16:55 ` Stefan Seyfried
[not found] ` <20050525012040.GA6145@linux.sh.intel.com>
2005-05-30 9:14 ` Yu, Luming
2005-05-30 15:01 ` Pavel Machek
[not found] ` <20050530150157.GC2207-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-05-30 17:01 ` James Sparenberg
2005-06-06 6:39 ` Yu, Luming
2005-06-06 10:39 ` [linux-pm] " Pavel Machek
[not found] ` <20050606103936.GA2520-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-06-06 17:02 ` Rafael J. Wysocki
2005-06-06 17:14 ` Pavel Machek
2005-06-06 21:46 ` Rafael J. Wysocki
2005-06-06 21:58 ` Pavel Machek
[not found] ` <20050606215815.GO2230-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2005-06-07 10:39 ` [linux-pm] " Rafael J. Wysocki
[not found] ` <200506071239.10125.rjw-KKrjLPT3xs0@public.gmane.org>
2005-06-08 15:02 ` Rafael J. Wysocki
2005-06-08 16:27 ` Pavel Machek
2005-06-08 21:42 ` [linux-pm] " Rafael J. Wysocki
2005-06-08 22:03 ` Pavel Machek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox