libc/cg: improve Manager docs
@@ -7,37 +7,44 @@ import (
)
type Manager interface {
- // Applies cgroup configuration to the process with the specified pid
+ // Apply creates a cgroup, if not yet created, and adds a process
+ // with the specified pid into that cgroup. A special value of -1
+ // can be used to merely create a cgroup.
Apply(pid int) error
- // Returns the PIDs inside the cgroup set
+ // GetPids returns the PIDs of all processes inside the cgroup.
GetPids() ([]int, error)
- // Returns the PIDs inside the cgroup set & all sub-cgroups
+ // GetAllPids returns the PIDs of all processes inside the cgroup
+ // any all its sub-cgroups.
GetAllPids() ([]int, error)
- // Returns statistics for the cgroup set
+ // GetStats returns cgroups statistics.
GetStats() (*Stats, error)
- // Toggles the freezer cgroup according with specified state
+ // Freeze sets the freezer cgroup to the specified state.
Freeze(state configs.FreezerState) error
- // Destroys the cgroup set
+ // Destroy removes cgroup.
Destroy() error
// Path returns a cgroup path to the specified controller/subsystem.
// For cgroupv2, the argument is unused and can be empty.
Path(string) string
- // Sets the cgroup as configured.
+ // Set sets cgroup resources parameters/limits. If the argument is nil,
+ // the resources specified during Manager creation (or the previous call
+ // to Set) are used.
Set(r *configs.Resources) error
- // GetPaths returns cgroup path(s) to save in a state file in order to restore later.
+ // GetPaths returns cgroup path(s) to save in a state file in order to
+ // restore later.
//
- // For cgroup v1, a key is cgroup subsystem name, and the value is the path
- // to the cgroup for this subsystem.
+ // For cgroup v1, a key is cgroup subsystem name, and the value is the
+ // path to the cgroup for this subsystem.
//
- // For cgroup v2 unified hierarchy, a key is "", and the value is the unified path.
+ // For cgroup v2 unified hierarchy, a key is "", and the value is the
+ // unified path.
GetPaths() map[string]string
// GetCgroups returns the cgroup data as configured.
@@ -46,7 +53,7 @@ type Manager interface {
// GetFreezerState retrieves the current FreezerState of the cgroup.
GetFreezerState() (configs.FreezerState, error)
- // Whether the cgroup path exists or not
+ // Exists returns whether the cgroup path exists or not.
Exists() bool
// OOMKillCount reports OOM kill count for the cgroup.
