Difference between revisions of "Memory dumping and restoring"
Jump to navigation
Jump to search
(Created page with "== How it works now == === Dumping === Currently memory dumping depends on 3 big technologies: * /proc/pid/map_files/ directory with links is used to determine ** which file i...") |
|||
Line 16: | Line 16: | ||
== Problems == | == Problems == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Non linear mappings === | === Non linear mappings === | ||
− | Currently | + | Currently we don't support non-linear mappings (fail dump if present) |
Revision as of 19:09, 21 October 2012
How it works now
Dumping
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
Restoring
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".
Problems
Non linear mappings
Currently we don't support non-linear mappings (fail dump if present)