# Design Decisions - Should the crinit process itself be placed in a cgroup on its own? ## Problem The crinit process could remain in the "real" root cgroup (that's the parent of the crinit create root cgroup) or it could be moved to a cgroup on its own. ## Influencing factors The following constraints have to be taken into account for a suitable solution: * Systemstability must be key. A killed crinit will result in a kernel panic! ## Assumptions The following assumptions have been made in the decision process: * Crinit runs as first-init and not secondary-init process ## Considered Alternatives ### 1) Leave crinit in "real" root cgroup The crinit process does not get moved into another cgroup. *pros* * No resource limits for the crinit process * No direct competition with its children *cons* * Considering safety related environments it might be more appropriate to have crinit in a restricted cgroup, too ### 2) Move crinit as soon as possible to its own cgroup under the created crinit root cgroup Create a cgroup under the crinit root cgroup and move the crinit process there. *pros* * Might be more appropriate if used in a safety related environment *cons* * That cgroup must be configurable to have the most possible benefit * It must be prevented that the crinit process will be killed (e.g. bei OOM killer) if other processes use to much resources. ## Decision Alternative 1 is taken. ### Rationale ### Open Points None.