|From:||Nigel Cunningham <ncunningham-AT-linuxmail.org>|
|To:||Christoph Hellwig <hch-AT-infradead.org>|
|Subject:||Re: Suspend 2 merge|
|Date:||Thu, 25 Nov 2004 07:46:12 +1100|
|Cc:||Linux Kernel Mailing List <linux-kernel-AT-vger.kernel.org>|
Hi. On Thu, 2004-11-25 at 00:28, Christoph Hellwig wrote: > Your way of merging looks rather wrong. Please submit changes against the > current swsusp code that introduce one feature after another to bring it > at the level you want. You'll surely have to rewrok it a lot until all > reviewers are happy. I realise that it needs further cleanup; that's why I'm submitting it now for comment and not asking 'please apply'. As to patching against swsusp, I'm purposely not doing that. The reason is that suspend2 isn't a bunch of incremental changes to swsusp. It has been redesigned from the ground up and I'd have to pull swsusp to pieces and put it back together to do the same things. I'm thus seeking to simply merge the existing code, let Pavel and others get to the point where they're ready to say "Okay, we're satisfied that suspend2 does everything swsusp does and more and better." Then we can remove swsusp. This is the plan that was discussed with Pavel and Andrew ages ago. I've just been slow to get there because I'm doing this part-time voluntary. > And most importantly for each patch explain exactly what feature it > implements and why, etc.. "swsusp2" tells exactly nothing about the > changed you do. Okay. The changes include: - Almost no BUG() statements. Wherever possible, if something goes wrong, we back out and give the user a perfectly usable system back - Speed: All I/O is asynchronous where possible and readahead used where not. Routines everywhere optimised to get things done as fast as poss. (Think low battery). - Flexible: You can tune performance to your system in a number of ways. You can use/not use bootsplash, text output, compression drivers as you choose. You can change your swap configuration without having to reboot just to change the resume2= parameter. You can cancel a suspend if you want, or disable the possibility of doing so. - Reliability. I haven't run the tests for a while, but Michael Frank produced a suite that was used to stress test the software (under 2.4) while running 100s (1000s at least once) of cycles. There have been some significant changes since then, but the software is essentially the same. - Test bed: Around 10,000 downloads of the 1.0 patch, 2730 to date of the 2.1.5 version I released 2 weeks ago. - Swap file support - Support for LVM/dm-crypt and siblings - Support for having device drivers as modules (resume from an initrd/initramfs) - Almost all memory allocations are order 0, making suspend more reliable under load. - Designed to save as much of memory as possible rather than as little (making the system more responsive post-resume). - Support for SMP - Support for preempt - Support for 4GB highmem (hope to do 64GB soonish) - Support for suspending/resuming over a network possible but not yet implemented (hope to do so soon) I realise it's only some, but I think it gives you the jist :> Nigel -- Nigel Cunningham Pastoral Worker Christian Reformed Church of Tuggeranong PO Box 1004, Tuggeranong, ACT 2901 You see, at just the right time, when we were still powerless, Christ died for the ungodly. -- Romans 5:6
Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds