pub struct CpuSetController { /* private fields */ }
Expand description

A controller that allows controlling the cpuset subsystem of a Cgroup.

In essence, this controller is responsible for restricting the tasks in the control group to a set of CPUs and/or memory nodes.

Implementations

Contructs a new CpuSetController with oroot serving as the root of the control group.

Returns the statistics gathered by the kernel for this control group. See the struct for more information on what information this entails.

Control whether the CPUs selected via set_cpus() should be exclusive to this control group or not.

Control whether the memory nodes selected via set_memss() should be exclusive to this control group or not.

Set the CPUs that the tasks in this control group can run on.

Syntax is a comma separated list of CPUs, with an additional extension that ranges can be represented via dashes.

Set the memory nodes that the tasks in this control group can use.

Syntax is the same as with set_cpus().

Controls whether the control group should be “hardwalled”, i.e., whether kernel allocations should exclusively use the memory nodes set via set_mems().

Note that some kernel allocations, most notably those that are made in interrupt handlers may disregard this.

Controls whether the kernel should attempt to rebalance the load between the CPUs specified in the cpus field of this control group.

Contorl how much effort the kernel should invest in rebalacing the control group.

See @CpuSet ’s similar field for more information.

Control whether when using set_mems() the existing memory used by the tasks should be migrated over to the now-selected nodes.

Control whether filesystem buffers should be evenly split across the nodes selected via set_mems().

Control whether the kernel’s slab cache for file I/O should be evenly split across the nodes selected via set_mems().

Control whether the kernel should collect information to calculate memory pressure for control groups.

Note: This will fail with InvalidOperation if the current congrol group is not the root control group.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Apply a set of resources to the Controller, invoking its internal functions to pass the kernel the information.

Create this controller

Does this controller already exist?

Delete the controller.

Attach a task to this controller.

Get the list of tasks that this controller has.

The file system path to the controller.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.