Skip to content
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

initial kernel config changes for criu #3300

Merged
merged 3 commits into from
Sep 8, 2022

Conversation

NikolaBo
Copy link
Contributor

@NikolaBo NikolaBo commented Jul 5, 2022

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

This PR enables kernel configurations required for CRIU to run on mariner.

Change Log
  • Turned on CONFIG_CHECKPOINT_RESTORE, CONFIG_BINFMT_MISC, CONFIG_MEM_SOFT_DIRTY, CONFIG_PACKET_DIAG, CONFIG_UNIX_DIAG, CONFIG_INET_DIAG, CONFIG_INET_TCP_DIAG, CONFIG_INET_UDP_DIAG, CONFIG_NETFILTER_XT_MARK, CONFIG_STP, CONFIG_BRIDGE, CONFIG_LLC, CONFIG_NETLINK_DIAG, CONFIG_MACVLAN and CONFIG_TUN.
  • Set CONFIG_INET_SCTP_DIAG to m.
  • Added CONFIG_INET_RAW_DIAG and CONFIG_INET_DIAG_DESTROY not set.
Does this affect the toolchain?

YES

Test Methodology

Locally built, installed on vm, and tested.

@ghost ghost added Packaging main PR Destined for main labels Jul 5, 2022
@NikolaBo NikolaBo force-pushed the t-nbojanic/criu-kernel-config branch from 0df32e7 to b35ba7e Compare September 6, 2022 21:46
@Camelron
Copy link
Contributor

Camelron commented Sep 6, 2022

Mirrored code from fork and ran pipeline to test: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=233401&view=results

@NikolaBo NikolaBo marked this pull request as ready for review September 6, 2022 23:13
@NikolaBo NikolaBo requested a review from a team as a code owner September 6, 2022 23:13
@@ -208,7 +208,7 @@ CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_CHECKPOINT_RESTORE=y
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity, do you know if this increases the size of the rpm significantly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RPM size is about 35M before and after the change.
Before: 36276851
After: 36312290

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kernel boot time is also essentially unchanged: Startup finished in 1.364s (kernel) with the changes and Startup finished in 1.362s (kernel) without (from systemd-analyze).

@Camelron Camelron merged commit 19ad795 into microsoft:main Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
main PR Destined for main Packaging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants