Line 10: |
Line 10: |
| | | |
| Below is the list of issues found | | Below is the list of issues found |
− |
| |
− | == Images IO ==
| |
− |
| |
− | Too many write-s and read-s. Each small object issues a write/read request into file. Need to improve.
| |
| | | |
| == Dump == | | == Dump == |
Line 33: |
Line 29: |
| 1438 openat(4, "map-symlink", O_RDONLY) = 5 | | 1438 openat(4, "map-symlink", O_RDONLY) = 5 |
| 11 openat(AT_FDCWD, "/proc/$pid/map_files", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4 | | 11 openat(AT_FDCWD, "/proc/$pid/map_files", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4 |
− |
| |
− | === <code>parasite_fuxup_vdso</code> ===
| |
− |
| |
− | The 2nd longest routine. It takes ~ 0.07 seconds on dump.
| |
− |
| |
− | === Too many readlink-s ===
| |
− |
| |
− | Some files are readlinked 3-4 times in a row.
| |
− |
| |
| | | |
| == Restore == | | == Restore == |
Line 63: |
Line 50: |
| * Maping vma 15% | | * Maping vma 15% |
| | | |
− | === Parse maps instead of smaps ===
| |
| | | |
− | When parsing self maps for restorer hint, it's enough to read smaller /proc/self/maps | + | === Opening files for mappings === |
| + | |
| + | The <code>get_filemap_fd()</code> opens new fd every time. If a file is mapped several |
| + | times (e.g. -- a library) we can share one fd for that. |
| + | |
| + | === Staging === |
| + | |
| + | When restoring a single task CRIU uses [[stages of restoring]] which slows things down. Need either special-care the single task restore, or introduce fine-grained locking for such things. |
| + | |
| + | [[Category: Development]] |
| + | [[Category: Thinkers]] |