Struct cgroups_rs::cpuset::CpuSetController[][src]

pub struct CpuSetController { /* fields omitted */ }
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 root 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

Performs the conversion.

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

Set notify_on_release

Set release_agent

Does this controller already exist?

Delete the controller.

Attach a task to this controller.

Attach a task to this controller by thread group id.

Get the list of tasks that this controller has.

The file system path to the controller.

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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.