FYI: swsusp bigdiff
Subsystems (4)
Hi!
This is *not* for application.
Pavel
arch/i386/Kconfig +31 -31
@@ -789,8 +789,6 @@ menu "Power management options (ACPI, APM)" -source "drivers/acpi/Kconfig" - config PM bool "Power Management support" ---help---
@@ -811,6 +809,37 @@ will issue the hlt instruction if nothing is to be done, thereby sending the processor to sleep and saving power. +config SOFTWARE_SUSPEND + bool "Software Suspend (EXPERIMENTAL)" + depends on EXPERIMENTAL && PM + ---help--- + Enable the possibilty of suspendig machine. It doesn't need APM. + You may suspend your machine by 'swsusp' or 'shutdown -z <time>' + (patch for sysvinit needed). + + It creates an image which is saved in your active swaps. By the next + booting the, pass 'resume=/path/to/your/swap/file' and kernel will + detect the saved image, restore the memory from + it and then it continues to run as before you've suspended. + If you don't want the previous state to continue use the 'noresume' + kernel option. However note that your partitions will be fsck'd and + you must re-mkswap your swap partitions/files. + + Right now you may boot without resuming and then later resume but + in meantime you cannot use those swap partitions/files which were + involved in suspending. Also in this case there is a risk that buffers + on disk won't match with saved ones. + + SMP is supported ``as-is''. There's a code for it but doesn't work. + There have been problems reported relating SCSI. + + This option is about getting stable. However there is still some + absence of features. + + For more information take a look at Documentation/swsusp.txt. + +source "drivers/acpi/Kconfig" + config APM tristate "Advanced Power Management BIOS support" depends on PM
@@ -1516,35 +1545,6 @@ menu "Kernel hacking" -config SOFTWARE_SUSPEND - bool "Software Suspend (EXPERIMENTAL)" - depends on EXPERIMENTAL && PM - ---help--- - Enable the possibilty of suspendig machine. It doesn't need APM. - You may suspend your machine by 'swsusp' or 'shutdown -z <time>' - (patch for sysvinit needed). - - It creates an image which is saved in your active swaps. By the next - booting the, pass 'resume=/path/to/your/swap/file' and kernel will - detect the saved image, restore the memory from - it and then it continues to run as before you've suspended. - If you don't want the previous state to continue use the 'noresume' - kernel option. However note that your partitions will be fsck'd and - you must re-mkswap your swap partitions/files. - - Right now you may boot without resuming and then later resume but - in meantime you cannot use those swap partitions/files which were - involved in suspending. Also in this case there is a risk that buffers - on disk won't match with saved ones. - - SMP is supported ``as-is''. There's a code for it but doesn't work. - There have been problems reported relating SCSI. - - This option is about getting stable. However there is still some - absence of features. - - For more information take a look at Documentation/swsusp.txt. - config DEBUG_KERNEL bool "Kernel debugging" help
arch/i386/kernel/acpi.c +15 -61
108 lines not on this page · raw message
arch/i386/kernel/acpi_wakeup.S +54 -34
162 lines not on this page · raw message
arch/i386/kernel/suspend.c +0 -7
@@ -125,10 +125,3 @@ } } - -#ifdef CONFIG_SOFTWARE_SUSPEND -/* Local variables for do_magic */ -int loop __nosavedata = 0; -int loop2 __nosavedata = 0; - -#endif
arch/i386/kernel/suspend_asm.S +11 -0
@@ -1,4 +1,7 @@ .text + +/* Originally gcc generated, modified by hand */ + #include <linux/linkage.h> #include <asm/segment.h> #include <asm/page.h>
@@ -78,3 +81,11 @@ .L1449: popl %ebx ret + + .section .data.nosave +loop: + .quad 0 +loop2: + .quad 0 + .previous +
arch/i386/kernel/traps.c +2 -0
@@ -212,6 +212,7 @@ ss = regs->xss &0xffff ; }print_modules (); +mdelay (1000 );printk ("CPU: %d\nEIP: %04x:[<%08lx>] %s\nEFLAGS: %08lx\n" ,smp_processor_id (),0xffff & regs->xcs, regs->eip,print_tainted (), regs->eflags);
@@ -224,6 +225,7 @@ regs->xds & 0xffff, regs->xes & 0xffff, ss);printk ("Process %s (pid: %d, threadinfo=%p task=%p)" , current->comm, current->pid,current_thread_info (), current); +mdelay (4000 );/* * When in-kernel, we also print out the stack and code at the * time of the fault..
arch/i386/mm/init.c +1 -1
@@ -299,7 +299,7 @@#endif } -void __init zap_low_mappings (void ) +void zap_low_mappings (void ) {int i;/*
drivers/acpi/Kconfig +1 -2
@@ -58,8 +58,7 @@ config ACPI_SLEEP bool "Sleep States" - depends on X86 && ACPI && !ACPI_HT_ONLY - default SOFTWARE_SUSPEND + depends on X86 && ACPI && !ACPI_HT_ONLY && SOFTWARE_SUSPEND ---help--- This option adds support for ACPI suspend states.
drivers/acpi/sleep.c +1 -1
@@ -674,7 +675,7 @@ ACPI_SYSTEM_FILE_SLEEP)); else { entry->proc_fops = &acpi_system_sleep_fops; - entry->write_proc = acpi_system_write_sleep; + entry->proc_fops->write = acpi_system_write_sleep; }/* 'alarm' [R/W] */
drivers/md/md.c +3 -0
@@ -36,6 +36,7 @@#include <linux/bio.h> #include <linux/devfs_fs_kernel.h> #include <linux/buffer_head.h> /* for invalidate_bdev */ +#include <linux/suspend.h> #include <linux/init.h>
@@ -2466,6 +2467,8 @@wait_event_interruptible (thread->wqueue,test_bit (THREAD_WAKEUP , &thread->flags)); +if (current->flags &PF_FREEZE ) +refrigerator (PF_IOTHREAD );clear_bit (THREAD_WAKEUP , &thread->flags);
kernel/suspend.c +38 -29
197 lines not on this page · raw message
mm/page_alloc.c +1 -1
@@ -387,7 +387,7 @@unsigned long flags;struct page *page =NULL ; -if (order ==0 ) { +if ((order ==0 ) && !cold) {struct per_cpu_pages *pcp; pcp = &zone->pageset[get_cpu ()].pcp[cold];
Signature · 2 lines
Worst form of spam? Adding advertisment signatures ala sourceforge.net. What goes next? Inserting advertisment *into* email?