Re: question about "cr_save_mmaps_data" function

From: TK (cartoon.ke_at_gmail_dot_com)
Date: Thu Mar 25 2010 - 18:48:59 PDT

  • Next message: Paul H. Hargrove: "Re: question about "cr_save_mmaps_data" function"
    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.

  • Next message: Paul H. Hargrove: "Re: question about "cr_save_mmaps_data" function"