-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create API and stub to communicate checkpoint requests to CrashMonkey #38
Comments
Its unclear from the description whether checkpoints are done automatically whenever a sync() or fsync() happens, or whether they are called manually. It would be great if it is automatic. |
If we want checkpointing to be done automatically, we have 2 options:
If neither of the above are implemented, CrashMonkey won't have any idea what the user program is doing. It will only know that the user program requested a checkpoint, and it will assume that the preconditions for a checkpoint (ex. some sort of sync) has been completed. |
If it doesn't degrade performance too much, I was thinking of something like strace/ptrace to identify fsync() or sync() calls. It doesn't matter which file they are calling fsync() on, we want checkpoints at that point anyway. But perhaps we should do this as a later optimization. Lets just do manual checkpoints for now. |
I agree that having ptrace watching the workload would be great. Despite that, I also feel that we should first get manual checkpoints working before we try to work in ptrace. Almost all of the infrastructure created for manual checkpoint operations will be used by automatic checkpoints. This is pretty much the only part that will not be used anymore I think. |
Agreed. Lets get manual checkpoints working. |
Part of the revised version of #12.
Checkpoints require support across many parts of CrashMonkey. This part is meant to provide user workloads the ability to tell the CrashMonkey test harness that they want to create a checkpoint. CrashMonkey should provide both a stub binary to accomplish this task (similar to the current stubs in the
user_tools
directory) as well as a small API for tests subclassed fromBastTestCase.h
. This utility can make use of the sockets class available in theutils/communication
directory.For checkpoints, we can assume 2 things:
The stub program or API for this part should do 2 things:
After the stub has received confirmation the checkpoint operation completed, it should exit with no error (for the binary) or return to the caller.
The text was updated successfully, but these errors were encountered: