Difference between revisions of "What can change after C/R"
Jump to navigation
Jump to search
(Created page with "This page is very important (I believe). It describes what can change in a tasks' environment after a C/R cycle. If a software you're using depends on either item from the lis...") |
(what can change: add a link to vdso page) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | This page is very important (I believe). It describes what can change in a tasks' environment after a C/R cycle. If a software you're using depends on either item from the list below, it may break after C/R | + | This page is very important (I believe). It describes what can change in a tasks' environment after a C/R cycle. If a software you're using depends on either item from the list below, it may break after C/R. The list is incomplete, but we do our best to make it contain relevant data. |
; Per-task statistics | ; Per-task statistics | ||
Line 9: | Line 9: | ||
; Process start time | ; Process start time | ||
: It's in the 22nd field of the <code>/proc/$pid/stat</code> file | : It's in the 22nd field of the <code>/proc/$pid/stat</code> file | ||
+ | |||
+ | ; Mount points IDs | ||
+ | : The numbers from first 2 columns of <code>/proc/$pid/mountinfo</code> | ||
+ | |||
+ | ; Sockets IDs | ||
+ | : If you stat() a file descriptor with a socket the st_ino value can be used as unique socket ID. This value does changes after C/R as these IDs are global and we have no API to restore one. | ||
+ | |||
+ | ; VDSO | ||
+ | : The VDSO is a shared library linked into app by kernel. If the C/R cycle implies changing the kernel in between (e.g. [[live migration]] or seamless kernel upgrade), the [[Vdso|VDSO contents ''may'' change]]. However, its linkage with the application is preserved. | ||
+ | |||
+ | [[Category:Using]] |
Latest revision as of 19:14, 31 July 2019
This page is very important (I believe). It describes what can change in a tasks' environment after a C/R cycle. If a software you're using depends on either item from the list below, it may break after C/R. The list is incomplete, but we do our best to make it contain relevant data.
- Per-task statistics
- Various counters, that can be obtained via
/proc/$pid/status
orgetrusage()
- Namespaces' IDs
- Numbers you see in the
/proc/$pid/ns/*
links' targets
- Process start time
- It's in the 22nd field of the
/proc/$pid/stat
file
- Mount points IDs
- The numbers from first 2 columns of
/proc/$pid/mountinfo
- Sockets IDs
- If you stat() a file descriptor with a socket the st_ino value can be used as unique socket ID. This value does changes after C/R as these IDs are global and we have no API to restore one.
- VDSO
- The VDSO is a shared library linked into app by kernel. If the C/R cycle implies changing the kernel in between (e.g. live migration or seamless kernel upgrade), the VDSO contents may change. However, its linkage with the application is preserved.