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_CFS_BANDWIDTH not set #2298

Closed
Pea13 opened this Issue Dec 6, 2017 · 11 comments

Comments

Projects
None yet
5 participants
@Pea13

Pea13 commented Dec 6, 2017

Hi,

I'm heavily using Docker on raspian. My system:

  • raspian stretch
  • Linux docker1 4.14.4-v7+ #1060 SMP Tue Dec 5 16:01:44 GMT 2017 armv7l GNU/Linux
    (i'm already on BRANCH next for rpi-update)

The current kernel lacks the support for config_cfs_bandwith. It's usefull with docker when you want to limit the cpu usage on your container (and since the raspberry pi is a small machine, i think it's a good idea).

% zgrep CONFIG_CFS_BANDWIDTH /proc/config.gz
# CONFIG_CFS_BANDWIDTH is not set

% /usr/share/docker-ce/contrib/check-config.sh

  • CONFIG_CFS_BANDWIDTH: missing

I don't know if there is a downside to enable it (impact on performance or size or both maybe).
An another solution would be to activate it on demand (i already put "cgroup_enable=memory swapaccount=1" on /boot/cmdline.txt to enable the cfs memory ).

Regards,

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Dec 6, 2017

Since this is a small use case, we would want to see kernel impact information - speed, size - before we can decide on this.

@Pea13

This comment has been minimized.

Pea13 commented Dec 6, 2017

Is it not possible to enable it only on demand ? (like memory cgroup)

@pelwell

This comment has been minimized.

Contributor

pelwell commented Dec 6, 2017

That is the question. When somebody comes to us with a niche request like this it helps their case a lot if they can show the impact on kernel memory footprint and performance when the feature is available but disabled (if that is possible).

@Ferroin

This comment has been minimized.

Contributor

Ferroin commented Dec 6, 2017

No, it's not possible to make it on-demand only, it's either compiled in, or not. It won't be used if you don't create any CPU cgroups, but the code is still there and does still have an impact on performance (although based on what I've seen on other systems, the runtime performance impact is close enough to zero to not matter except for hard-realtime applications).

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Dec 6, 2017

If those other systems are quad core i7 3Ghz devices then I'm sure they can take the hit, but we really need to know the hit on the Pi1/0 since our kernel is used for those slow devices.

@Ferroin

This comment has been minimized.

Contributor

Ferroin commented Dec 6, 2017

It's not measurable on a decent i7 without using perf to count cycles, but I've also tested on some dinky little Braswell chips (4 cores, no hyper-threading, 1.6GHz normal, 2.4GHz burst), and the hit was barely measurable there too. Unfortunately, I don't currently have a Pi that I can spare to test this on, and I never checked the memory overhead (a few kB generally doesn't matter when you have 4G of RAM, so I never saw any need to check at the time), so you'll need someone else to check that.

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Apr 20, 2018

Without accurate performance impact figures, this isn't going to progress very far....anyone have any? I'm inclined to close with 30 days if no figures are forthcoming.

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Jun 27, 2018

This issue will be closed within 30 days unless further interactions are posted. If you wish this issue to remain open, please add a comment. A closed issue may be reopened if requested.

@tcdowney

This comment has been minimized.

tcdowney commented Aug 6, 2018

Not the original requester, but I'd be interested in CONFIG_CFS_BANDWIDTH from an educational standpoint. I wanted to demonstrate how you could limit the impact of hungry programs (like stress 😛 ) on your Pi using the cpu.cfs_period_us and cpu.cfs_quota_us cgroups and I was sad to find them missing. 😢 Just my two-cents! I'm sure you have good reasons for being conservative with enabling these kernel features.

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Aug 6, 2018

As stated above, we need some indication of the impact of the change on CPU and memory for the standard user case. If there is generally no impact then we can add stuff, but on a limited resource device like the Pi we are hesitant to add anything that might detrimentally affect all users but only benefit a few.

Feel free to build a kernel with this changed and report back the impact over standard, and we can make a decision.

@JamesH65

This comment has been minimized.

Contributor

JamesH65 commented Oct 29, 2018

Closing due to lack of activity. Please request to be reopened if you feel this issue is still relevant.

@JamesH65 JamesH65 closed this Oct 29, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment