Messages in this thread | | | Subject | Re: [PATCH v2 1/4] cgroup: Child cgroup creation not allowed on invalid domain | From | Waiman Long <> | Date | Mon, 24 Jul 2017 13:48:51 -0400 |
| |
On 07/22/2017 09:43 AM, Tejun Heo wrote: > Hello, Waiman. > > On Fri, Jul 21, 2017 at 04:34:50PM -0400, Waiman Long wrote: >> When thread mode is used, it is possible that some cgroups may be >> in an invalid state. Currently users may not be aware that they are >> invalid until they try to migrate tasks over. This patch disallows >> child cgroup creation on invalid domain. This adds one more failure >> point in reminding users that they are dealing with invalid domains. >> It also minimizes the number of invalid domains outstanding as much >> as possible. > It's a bit inconsistent because we can reach the same forbidden state > by turning a sibling cgroup threaded. Please consider the following. > > A > / \ > B C > \ > D > > Let's say all are domains and we make B threaded. A becomes the > threaded domain, C and D become invalid, which is the configuration > you're trying to prevent. We can either enabling threaded on B too or > relax type modifications further so that people can make C threaded > which makes sense given that that would lead to a topology which has > to supported anyway (if C were threaded before D was created, it'd > look the same). > > So, I'm leaning more towards relaxing restrictions and tightening it, > and given that we have to expose invalid state anyway, I think there's > actual benefit in doing so as it gives more flexibility while building > the hierarchy.
Yes, I totally understand that we could have this happened in a sibling node. It is just my idea to make users become more aware that they are dealing with an invalid domain cgroup. It was just a suggestion on my part and I am totally fine if it is not merged.
Cheers, Longman
| |