[CRIU] [PATCH 0/8] vdso: Use gettimeofday() from vdso for timings
Andrei Vagin
avagin at gmail.com
Tue Aug 6 07:30:38 MSK 2019
Applied, thanks!
On Thu, Jul 25, 2019 at 11:01:06PM +0100, Dmitry Safonov wrote:
> Historically, PIE uses syscalls for printing timings.
> The idea was written a while ago here:
> https://github.com/checkpoint-restore/criu/issues/346
>
> While at it, I've found that we print timings only in restorer blob, but
> not in parasite. It may be intentional or just missed
> std_log_set_start() call in parasite_init_daemon().
> Anyway, I've decided to keep it as-is for now.
>
> Also, adding support for timings from vdso in ia32 turned to be more
> complex (see a comment in the last patch), so I decided to start from
> native applications.
>
> I've measured the gain on zdtm tests:
> https://gist.github.com/0x7f454c46/7147b519e49f9ad01706c27ab1334fa7
> It seems that criu is really voluble on restoring mappings :)
>
> Anyway, the gain is not as huge as I've expected (I thought we print
> much more), but still removes 50-100 syscalls per most of zdtm tests.
> And it doesn't bring much complexity as we already have all information
> about vdso mappings and symbol tables in restorer.
> So, remove syscalls for free and keep being the same informative.
>
> Cc: Cyrill Gorcunov <gorcunov at gmail.com>
>
> Dmitry Safonov (8):
> compel/log: Use enum as parameter for std_log_set_loglevel()
> compel/std/uapi: Provide setter for gettimeofday()
> vdso/restorer: Try best to preserve vdso during restore
> vdso/restorer: Always track vdso/vvar positions in vdso_maps_rt
> restorer/parasite-vdso: Don't move vvar if failed to move vdso
> seccomp/restorer: Disable gtod from vdso in strict mode
> vdso: Add compatible property to vdso_maps
> restorer: Use gettimeofday() from rt-vdso for log timings
>
> compel/plugins/include/uapi/std/log.h | 16 ++-
> compel/plugins/std/log.c | 18 ++-
> criu/arch/aarch64/include/asm/vdso.h | 1 +
> criu/arch/arm/include/asm/vdso.h | 1 +
> criu/arch/ppc64/include/asm/vdso.h | 1 +
> criu/arch/s390/include/asm/vdso.h | 3 +-
> criu/arch/x86/include/asm/vdso.h | 3 +-
> criu/include/parasite-vdso.h | 4 +-
> criu/include/util-vdso.h | 1 +
> criu/pie/parasite-vdso.c | 164 +++++++++++++++-----------
> criu/pie/restorer.c | 115 ++++++++++++++----
> criu/vdso.c | 6 +-
> 12 files changed, 227 insertions(+), 106 deletions(-)
>
> --
> 2.22.0
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list