Hi! > The following two patches are designed to make swsusp free only as much > memory as needed for suspend and not as much as possible. This speeds > up the suspend and resume significantly and causes the system to be much > more responsive after resume. Yep, users will love you :-). But you need to let them know, and that probably means cc: on linux-kernel. If you want someone to test crypto swsusp, ask ast@xxxxxxxxx But removing that option is okay, too. I still miss those "a"s in "swap". + +unsigned int snapshot_nr_pages(void) +{ + return nr_copy_pages; +} + +struct pbe *snapshot_pblist(void) +{ + return pagedir_nosave; +} + +void snapshot_pblist_set(struct pbe *pblist) +{ + pagedir_nosave = pblist; +} I really hate these. pblist_set( is the worst one. [Still improvement from previous versions, through.] Perhaps you can just access the variables directly? If you really want to clean this up, swsusp_save should probably be int swsusp_save(struct pbe **pblist, int *nr_pages) [that should make snapshot_nr_pages and snapshot_pblist obsolete, right?] Getting rid of snapshot_pblist_set may require a bit more surgery, but should be doable, too. swsusp_resume() should probably get struct pbe *argument... Pavel -- Thanks, Sharp!