Memory dumping and restoring

Revision as of 19:09, 21 October 2012 by Xemul (talk | contribs) (Problems)
Jump to: navigation, search

How it works now


Currently memory dumping depends on 3 big technologies:

  • /proc/pid/map_files/ directory with links is used to determine
    • which file is mapped
    • shared memory "identifier" to detect the sharing
  • mincore() system call says which pages are to be dumped and which are not (to be fixed as well)
  • Ptrace SEIZE is used to dump the memory contents


This one depends only on the /proc/pid/map_files/ to restore the shmem regions -- tasks just open some other's link and map it to create shmem region. The pages restoration just writes page data "in place".


Non linear mappings

Currently we don't support non-linear mappings (fail dump if present)