multipath-tcp / mptcp

⚠️⚠️⚠️ Deprecated 🚫 Out-of-tree Linux Kernel implementation of MultiPath TCP. 👉 Use https://github.com/multipath-tcp/mptcp_net-next repo instead ⚠️⚠️⚠️
https://github.com/multipath-tcp/mptcp_net-next
Other
888 stars 336 forks source link

Kernel CONFIG_MEMCG: missing #321

Closed dur3x closed 5 years ago

dur3x commented 5 years ago

Debian 9 running with

4.14.91.mptcp #12 SMP Wed Jan 2 17:51:05 UTC 2019 x86_64 GNU/Linux

from https://dl.bintray.com/cpaasch/deb

I want to benefit of the cgroup_memory option (see https://github.com/rancher/k3s/issues/170) but it looks that the mptcp kernel was not built with this option. Is it possible to enable this feature without disturbing the mptcp behaviour? If yes, how can I do that (should it not be a default like the debian kernel ?) ? To check that this option is enabled I run this script

wget https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh -O cgroups_check && chmod +x cgroups_check
~# ./cgroups_check | grep MEM
warning: /proc/config.gz does not exist, searching other paths for kernel config ...
- CONFIG_MEMCG: missing
dur3x commented 5 years ago

Okay I found some scripts to rebuild everything easily and I should be able to modify that here: https://github.com/multipath-tcp/mptcp-scripts/blob/master/scripts/debian_build/config-4.14#L157

matttbe commented 5 years ago

Hi @dur3x

Did you manage to build a new kernel?

Note that you will need to build the last commit from the mptcp_v0.94 branch to get this fix: https://github.com/multipath-tcp/mptcp/commit/34154a943635d14a49c6c73ffd361a74c2e277b7

Now I am not sure why CONFIG_MEMCG is not enabled. Was it enabled when Debian was running the v4.14 kernel? Apparently yes: https://salsa.debian.org/kernel-team/linux/blob/debian/4.14.17-1/debian/config/config

Maybe @cpaasch didn't enable it because it was not compiling?

But recompiling a kernel with other options is certainly the quickest solution!

dur3x commented 5 years ago

Hi @matttbe

Yes thanks it's currently building (it takes a certain time on my poor computer :-) ) but not with your specified commit... Btw I will rebuild a more recent one based on the latest commit after.

Indeed it looks that by default (thanks for your link about the debian default config) this option is well enabled but like you said perhaps it was not compiling.

dur3x commented 5 years ago

By enabling this parameter during the kernel build it works. Thanks for your help ;-) This issue could probably be closed after an answer of @cpaasch about the default parameters for the futur.

This fix https://github.com/rancher/k3s/issues/170

cpaasch commented 5 years ago

Hi, just to let you know that the next .deb and .rpm builds will have MEMCG enabled.

cpaasch commented 5 years ago

Latest released pre-build images on bintray include CONFIG_MEMCG. Closing :)