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

Should memory.kmem.tcp.limit_in_bytes still be supported? #3174

Open
thaJeztah opened this issue Aug 23, 2021 · 6 comments
Open

Should memory.kmem.tcp.limit_in_bytes still be supported? #3174

thaJeztah opened this issue Aug 23, 2021 · 6 comments

Comments

@thaJeztah
Copy link
Member

Mostly a question here, as it's somewhat confusing (also see opencontainers/runtime-spec#1093)

Commit 2d38476 (#2840) removed support for kernel-memory limits.

The PR referred to torvalds/linux@0158115f702b, which deprecated memory.kmem.limit_in_bytes in kernel 5.4, but the PR also removed support for memory.kmem.tcp.limit_in_bytes.

Looking at the Linux kernel, there's no mention (yet) of this option being deprecated as well (but it could be an oversight); https://github.com/torvalds/linux/blob/fdebeae0d75d03dc54eb68cb09bd6604a590b502/Documentation/admin-guide/cgroup-v1/memory.rst

I'm curious if memory.kmem.tcp.limit_in_bytes should also be considered deprecated in the kernel and, if not, if that option should be re-enabled.

@thaJeztah
Copy link
Member Author

/cc @kolyshkin @AkihiroSuda

@kolyshkin
Copy link
Contributor

Yes it seems like my mistake.

Not sure if anyone is using it (nobody? or we'd get bug reports, I assume), but the setting exist (in cgroup v1), is not obsoleted and can be re-introduced.

@thaJeztah
Copy link
Member Author

Would re-introducing it also bring the risk of re-introducing the buggy kmem issues on the older kernels (3.10 most notably), or would that issue not be triggered?

@thaJeztah
Copy link
Member Author

Not sure if anyone is using it (nobody? or we'd get bug reports, I assume),

LOL. I was thinking the same.

I started a branch to deprecate / disable the kmem options in moby, when I noticed we only deprecated one, and not the other one, and then I got confused 😅 (which is why I opened this ticket).

At least we should probably amend the change in the runtime-spec.

@paolo-depa
Copy link

https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/cgroup-v1/memory.rst

It looks like this definitely turned to "deprecated"...

@kolyshkin
Copy link
Contributor

https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/cgroup-v1/memory.rst

It looks like this definitely turned to "deprecated"...

The memory.kmem.tcp.limit_in_bytes knob is not listed as deprecated in the document you mention, this is the reason why we have this issue opened. I just checked the recent kernel, and unlike memory.kmem.limit_in_bytes (which was deprecated by the kernel commit 58056f77502f3567b760c9a8fc8d2e9081515b2d), the kmem.tcp is still accepted by the kernel.

Given the fact that cgroup v1 is going to be deprecated sooner or later, and we receive no bug reports about inability to set kmem.tcp limit, I guess we can leave this as is for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants