[crac] RFR: PID adjustment on checkpoint [v4]
Roman Marchenko
rmarchenko at openjdk.org
Fri Jun 23 13:03:47 UTC 2023
> On restore, there might be PID value conflicts because of small PID values, if it was checkpoint'ed in a container. Therefore, when checkpointing in a container, we need to move PID value for new processes to a particular value to avoid conflicts on restore.
>
> See https://github.com/CRaC/example-lambda/blob/master/checkpoint.cmd.sh#L8 for example.
>
> This PR contains implemented functionality similar to the example above, making this work out of the box. By default, if checkpointing, PID value for new processes starts from 128.
>
> To set a custom value, `CRAC_MIN_PID` environment variable should be used.
> Min `CRAC_MIN_PID` value is 1, max `CRAC_MIN_PID` is not implemented currently.
Roman Marchenko has updated the pull request incrementally with five additional commits since the last revision:
- Implemented vm option instead of env var
- Added test for the last pid overflow while spinning
- Re-worked spin_last_pid procedure
- Re-worked set_last_pid procedure
- Replacing fork() with clone() for Linux platform
-------------
Changes:
- all: https://git.openjdk.org/crac/pull/86/files
- new: https://git.openjdk.org/crac/pull/86/files/dcbfa624..63eff039
Webrevs:
- full: https://webrevs.openjdk.org/?repo=crac&pr=86&range=03
- incr: https://webrevs.openjdk.org/?repo=crac&pr=86&range=02-03
Stats: 158 lines in 5 files changed: 105 ins; 12 del; 41 mod
Patch: https://git.openjdk.org/crac/pull/86.diff
Fetch: git fetch https://git.openjdk.org/crac.git pull/86/head:pull/86
PR: https://git.openjdk.org/crac/pull/86
More information about the crac-dev
mailing list