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.