Messages in this thread | | | Date | Tue, 11 Nov 2008 23:03:19 -0600 | From | "Serge E. Hallyn" <> | Subject | Re: [RFC v9][PATCH 00/13] Kernel based checkpoint/restart |
| |
Quoting Oren Laadan (orenl@cs.columbia.edu): > Checkpoint-restart (c/r): v9 adds support for multiple processes. > (rebase to v2.6.28-rc3). > > We'd like to see these make their way into -mm. All comments have > been addressed in this version. Please pull at least the first 11 > patches, as they are similar to before.
With the trivial fix to patch 5 I sent earlier, I've been running the following e2loop.sh for a few hours with no problems (the counter is at 2412). Also did 500 concurrent checkpoints of the same process.
Oren, can you re-post an updated patch 5?
Andrew, would you mind (once Oren reposts patch 5) giving the first 11 patches a chance in -mm?
thanks, -serge
=============== e2loop.sh: =============== cnt=1 /usr/src/ns_exec -m /root/e2 & while [ 1 ]; do /usr/src/cr `pidof e2` o.$cnt kill -9 `pidof e2` echo 5 > /root/e2out cntin=`cat /root/e2out` echo "i reset e2out to $cntin" #/usr/src/rstr < /root/o.$cnt & /usr/src/ns_exec -m /usr/src/rstr /root/o.$cnt & cnt=$((cnt+1)) sleep 10 cntin=`cat /root/e2out` echo "cnt is $cnt, e2out has $cntin" done
=============== e2.c: =============== #include <stdio.h> #include <sys/types.h> #include <unistd.h>
int main() { int cnt=0; FILE *f; char fnam[20];
close(0); close(1); close(2); close(3); f = fopen("e2out", "r"); if (!f) cnt = 1; else { fscanf(f, "%d", &cnt); fclose(f); } for (;;) { sleep(5); f = fopen("e2out", "w"); if (!f) return 1; fprintf(f, "%d", ++cnt); fclose(f); } return 0; }
| |