Re: [RFC v9][PATCH 00/13] Kernel based checkpoint/restart

From: Serge E. Hallyn
Date: Wed Nov 12 2008 - 00:04:01 EST


Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx):
> 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;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/