-
Notifications
You must be signed in to change notification settings - Fork 556
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
config-linux: add memory.checkBeforeUpdate #1158
Conversation
This setting can be used to mimic cgroup v1 behavior on cgroup v2, when setting the new memory limit during update operation. In cgroup v1, a limit which is lower than the current usage is rejected. In cgroup v2, such a low limit is causing an OOM kill. Ref: opencontainers/runc#3509 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
If enabled (`true`), runtime MAY check if a new memory limit is lower than the current usage, and MUST | ||
reject the new limit. Practically, when cgroup v1 is used, the kernel rejects the limit lower than the | ||
current usage, and when cgroup v2 is used, an OOM killer is invoked. This setting can be used on | ||
cgroup v2 to mimic the cgroup v1 behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we call out that there is TOCTOU race possible here and it won't be able to exactly match cgroups v1 behavior?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me this is an implementation detail, and this is merely a spec. In fact it should not even explain why we need it, but I guess some context would not hurt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @kolyshkin
opencontainers/runtime-spec#1158 Signed-off-by: utam0k <k0ma@utam0k.jp>
opencontainers/runtime-spec#1158 Signed-off-by: utam0k <k0ma@utam0k.jp>
This setting can be used to mimic cgroup v1 behavior on cgroup v2,
when setting the new memory limit during update operation.
In cgroup v1, a limit which is lower than the current usage is rejected.
In cgroup v2, such a low limit is causing an OOM kill.
Ref: opencontainers/runc#3509