From: TK (cartoon.ke_at_gmail_dot_com)
Date: Thu Mar 25 2010 - 18:48:59 PDT
Thanks. But when a checkpoint request is issued with "cr_checkpoint" command, a ioctl request is made to /proc/checkpoint/ctrl. I suppose it will be the "CR_OP_HAND_CHKPT" request. Then "cr_dump_self" will be called, and finally cr_save_mmaps_data will be called, and the memory will be saved here. Am I correct? If so, when is the whole story of checkpoint? When the "vmadump" module is used then ? Thank you very much. On 03/25/2010 07:20 PM, Paul H. Hargrove wrote: > TK, > > I am sorry I didn't get the chance to answer this one when you asked > me directly 2 days ago - I am up against some deadlines right now. > > To answer your question: > In the function you ask about we are dealing only with memory regions > created by mmap() of a file. Therefore all the "clean" pages already > exist somewhere on disk in the file that has been mmap()ed. This > includes the executable file and shared libraries that were mmap()ed > in prior to the start of main(). As with open files, BLCR makes the > (optimistic) assumption that the file will still exist, unmodified, at > the time of the restart. However, one can ensure that even the > "clean" pages will be stored with the checkpoint by passing --save-all. > > -Paul > > TK wrote: >> Hi , all. I am trying to adding my own code into BLCR for some >> experiments. >> When I was reading the code of "cr_save_mmaps_data" function in >> cr_module/cr_mmaps.c, I found the comment /* dump the dirty pages */ >> . I am wondering you dump only the dirty pages only? It will not be >> enough info for restart. Or the other pages are dumped else where? If >> so, where is it? >> Thank you. > >