![]() | |||||||||||||
Messages in this thread |
Hi! > > Lets see... > > > > for i386, we have 768 pagedir entries. Each pagedir entry points to > > page with 1023 pointers to pages. That means that up-to 768*1023*4096 > > bytes image can be saved to swap ~= 768 * 1K * 4K ~= 3 GB. That's more > > than enough for i386. > > > > for x86-64, we can have 128 pagedir entries (could not we fit more > > there? 384 entries should fit, no?). > > Yes. To be exact, 460. > > > Each pagedir entry has 511 pointers to pages (IIRC)... > > 512, I think. Okay, can we do simple solution where we put 460 there, plus a check if it overflows (printk, abort suspend), for now? That should fix 768MB machine... > > that is up-to 128*511*4K ~= 64*1K*4K = 256 MB image. > > Hmm, that should still be enough for any 512MB machine, and > > probably okay for much bigger machines, too... > > > > We can still get to 768 MB image (good enough for any 1.5GB machine, > > and probably for anything else, too). > > > > If that is not good enough for you, can you simply allocate more than > > 1 page for swsusp_info? No need for linklists yet. > > I can. The problem is I have to track the swap offsets of these pages > which is necessary for resume. Is it guaranteed that the swap offsets > of pages allocated in a row will be consecutive? No, they probably will not be consecutive. OTOH pagedirs are stored as a link list in memory already. Maybe we should be able to extend that link list for a disk, too, with minimal fuss? ...we'd have to write pagedir _backwards_ for that to work, probably not nice, and swap_free() would really like direct access. Pavel -- if you have sharp zaurus hardware you don't need... you know my address - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-09-26 13:23 [from the cache] ©2003-2008 | |||||||||||||