-
Notifications
You must be signed in to change notification settings - Fork 5.2k
cpuset disabled #1950
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
Comments
Back when this commit was first introduced:
So we made the choice a boottime switch which avoided the memory overhead unless you added Now, it seems the descriptions of the config options have changed, and I haven't tracked down what the current cost is of enabling the options. What exactly is your issue? Are you wanting to use memory groups? Does |
My issue is that I want to use the cpuset functionality in cgroups and this commit is disabling the cpuset subsystem when it means to disable memory. I suspect that the cgroup subsystems don't get initiated in a strict order, which would cause this line: I searched Google for "raspberrypi dmesg cgroup" and saw a number of examples where the printks "Initializing cgroup subsys ****" are printed in different orders. Generally, "Initializing cgroup subsys cpuset" seemed to be listed first, however that wasn't always the case. |
The initial version of the patch (0ce4380) was safer as the disable flags were in separate structures. Would you be happy if 7dbc189 were reverted and
|
I can't recommend disabling CONFIG_MEMCG as I don't know how long it has been enabled for in the official kernels people are using on their RPis. Someone else may depend on it. However, reverting the patch would allow people to use cpuset set again, which is unlikely to negatively affect anyone. |
I've checked and CONFIG_MEMCG enabled seems to cost ~2MB on a freshly booted Pi3.
Enabled:
|
@rcwolley @popcornmix Will be closing if no further comments are posted. |
Hi @JamesH65, Based on this line (https://github.com/raspberrypi/linux/blob/rpi-4.9.y/kernel/cgroup.c#L5640 ) it looks as if the patch is still present and potentially disabling cpuset by mistake. It is my suggestion to revert the patch to restore cpuset. Regards, |
@popcornmix @pelwell Any thoughts? I have no ideas what this should be. |
It looks like we need an alternative way of implementing an implicit
If that sounds reasonable then I'll work it up into a patch. |
Sounds fine to me. |
See #2201 |
Thanks, Phil. This will make it much easier to use cpuset on the official Raspberry foundation kernels. |
Is that confirmation that it works for you? |
I'll take the action to compile a fresh kernel and confirm it works later today. |
Sorry for the delay. I cloned the latest changed and confirmed with /proc/cgroups that memory was disabled by default and enabled when I set the kernel param. I did see a warning about not checking the return value of kstrtobool. I don't think it changes the behaviour. Thanks for making the change! |
After some feedback and a rethink I've reworked this code as two new patches. The first makes |
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
kernel: cgroup: Disable cgroup memory by default See: raspberrypi/linux#1950 firmware: Update to latest master
kernel: cgroup: Disable cgroup memory by default See: raspberrypi/linux#1950 firmware: Update to latest master
kernel: config: Add GPIO_PCF857X=m See: raspberrypi/linux#2294 kernel: mcp2515: Use DT-supplied interrupt flags See: raspberrypi/linux#2175 kernel: cgroup: Fix automatic disabling of cgroup memory See: https://github.com/raspberrypi/issues/1950 firmware: arm_dt: Suppress non-fatal errors See: #906 firmware: dtoverlay: Create "/aliases" node when needed See: #906
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
Some Raspberry Pis have limited RAM and most users won't use the cgroup memory support so it is disabled by default. Enable with: cgroup_enable=memory See: #1950 Signed-off-by: Phil Elwell <[email protected]>
I noticed that cpuset was disabled when using my Raspberry Pi. Others have also run into this in the forums: https://www.raspberrypi.org/forums/viewtopic.php?t=178981&p=1139830
I reverted this commit and it restored cpuset: 7dbc189
It seems that the commit was actually trying to disable the memory resource controller. I can confirm that "memory" remains enabled when the patch is present. Also using cgroup_enable=cpuset does re-enable
cpuset.
I thought I should report it in case it helps others. Would you be open to reverting the commit?
The text was updated successfully, but these errors were encountered: