<div dir="ltr">2013/5/20 Andrew Vagin <span dir="ltr"><<a href="mailto:avagin@parallels.com" target="_blank">avagin@parallels.com</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">On Mon, May 20, 2013 at 02:24:23AM +0400, Pavel Tikhomirov wrote:<br>
> Hello,<br>
><br>
> In this patch I want to add posix timers dump/restore to criu.<br>
><br>
> In first patch I add little function which can replace timeval_valid,<br>
> because it is not universal enough to take both timeval and timespec.<br>
><br>
> Second patch stands for syscalls needed to opperate with timers.<br>
><br>
> In third patch there are parasite function to get time from timers, and<br>
> proc parsing one to parse /proc/<pid>/timers, and structures to save all<br>
> info so also have saving functionality.<br>
><br>
> In forth patch restore: read info from image, place it in allocated mem<br>
> and remap it in region which will be shared. And when injected, restore<br>
> timers and set them.<br>
><br>
> problem: don't have functionality to set overrun when restoring, so it<br>
> won't pass existing test in zdtm, time displacement fail will occure.<br>
<br>
</div>Which operation fails in this case?</blockquote><div style><br></div><div style>In zdtm/live/static/posix_timers.c in the end of test (64-70 lines) it</div><div style>is checked that time passed on clock is equal to time passed on timer.</div>
<div style>But time on timer is based on overruns which don't restore good.</div><div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">
> (This test multiplies timer interval by overruns.)<br>
<br>
</div>so you should add a new test case to test these patches.<br></blockquote><div><br></div><div style>OK.</div><div style> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div class="h5">><br>
> Thanks, Pavel<br>
><br>
> Pavel Tikhomirov (4):<br>
> posix-timer: Add time_valid() function<br>
> posix-timer: Add proper syscalls definition.<br>
> posix-timer: Add dump functionality and structures.<br>
> posix-timer: Add restore functionality and structures.<br>
><br>
> arch/x86/syscall-x86-64.def | 5 ++<br>
> cr-dump.c | 13 +++++<br>
> cr-restore.c | 126 ++++++++++++++++++++++++++++++++++++++++++-<br>
> cr-show.c | 6 +++<br>
> image.c | 1 +<br>
> include/crtools.h | 2 +<br>
> include/magic.h | 1 +<br>
> include/parasite-syscall.h | 2 +<br>
> include/parasite.h | 16 ++++++<br>
> include/proc_parse.h | 22 ++++++++<br>
> include/protobuf.h | 1 +<br>
> include/restorer.h | 21 ++++++++<br>
> include/syscall-types.h | 2 +<br>
> include/util.h | 8 +++<br>
> parasite-syscall.c | 65 ++++++++++++++++++++++<br>
> pie/parasite.c | 27 ++++++++++<br>
> pie/restorer.c | 35 ++++++++++++<br>
> proc_parse.c | 121 +++++++++++++++++++++++++++++++++++++++++<br>
> protobuf.c | 2 +<br>
> protobuf/Makefile | 1 +<br>
> protobuf/posix-timer.proto | 15 ++++++<br>
> 21 files changed, 490 insertions(+), 2 deletions(-)<br>
> create mode 100644 protobuf/posix-timer.proto<br>
><br>
> --<br>
> 1.7.9.5<br>
><br>
</div></div>> _______________________________________________<br>
> CRIU mailing list<br>
> <a href="mailto:CRIU@openvz.org">CRIU@openvz.org</a><br>
> <a href="https://lists.openvz.org/mailman/listinfo/criu" target="_blank">https://lists.openvz.org/mailman/listinfo/criu</a><br>
</blockquote></div><br></div></div>