[CRIU] [PATCH 11/11] vdso: Don't read pagemap or parse symtable under vdso_hint_reliable
Dmitry Safonov
dsafonov at virtuozzo.com
Mon Jul 17 15:40:02 MSK 2017
We can save some syscalls for *each* dumpee if we don't
open()/seek()/read()/close() /proc/pid/pagemap for each
dumpee and even don't use parasite to parse symtable if
pagemap is unavailable.
Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
---
criu/vdso.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/criu/vdso.c b/criu/vdso.c
index 013a9a6c2c0a..731f941657ad 100644
--- a/criu/vdso.c
+++ b/criu/vdso.c
@@ -55,7 +55,12 @@ static enum vdso_check_t get_vdso_check_type(struct parasite_ctl *ctl)
* hint stays in /proc/../maps file and is correct.
*/
if (!compel_mode_native(ctl)) {
- pr_info("Don't check vdso\n");
+ pr_info("Don't check vdso for compat task\n");
+ return VDSO_NO_CHECK;
+ }
+
+ if (kdat.vdso_hint_reliable) {
+ pr_info("vDSO hint is reliable - omit checking\n");
return VDSO_NO_CHECK;
}
--
2.13.1
More information about the CRIU
mailing list