pub enum VpAssignment {
FromTopology,
Explicit(Vec<u32>),
Empty,
}Expand description
How VPs are assigned to a NUMA node.
Variants§
FromTopology
Assign VPs to nodes by round-robining sockets over the CPU-bearing
nodes only: a VP with socket ID vp_index / vps_per_socket belongs to
the (vp_index / vps_per_socket) % num_cpu_nodes-th FromTopology
node. vps_per_socket comes from ProcessorTopologyConfig;
num_cpu_nodes is the number of FromTopology nodes, so Empty
(CPU-less) nodes are skipped and do not affect the distribution.
Explicit(Vec<u32>)
Explicit VP indices assigned to this node.
Empty
A CPU-less node: no VPs are assigned to it. Unlike Explicit, this
may be combined with FromTopology nodes, so a memory- or
device-only node can be declared without forcing every other node to
spell out its VP set.
Trait Implementations§
Source§impl Debug for VpAssignment
impl Debug for VpAssignment
Source§impl DefaultEncoding for VpAssignment
impl DefaultEncoding for VpAssignment
Source§impl<'encoding> OneofDecode<'encoding, Resource> for VpAssignment
impl<'encoding> OneofDecode<'encoding, Resource> for VpAssignment
Source§fn read_variant(
item: &mut InplaceOption<'_, Self>,
n: u32,
field: FieldReader<'encoding, '_, Resource>,
) -> Result<()>
fn read_variant( item: &mut InplaceOption<'_, Self>, n: u32, field: FieldReader<'encoding, '_, Resource>, ) -> Result<()>
Read the specified variant from the reader.
Source§impl OneofEncode<Resource> for VpAssignment
impl OneofEncode<Resource> for VpAssignment
Source§fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
Write the variant to the writer.
Source§fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
Compute the size of the variant.
Auto Trait Implementations§
impl Freeze for VpAssignment
impl RefUnwindSafe for VpAssignment
impl Send for VpAssignment
impl Sync for VpAssignment
impl Unpin for VpAssignment
impl UnsafeUnpin for VpAssignment
impl UnwindSafe for VpAssignment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> MeshField for T
impl<T> MeshField for T
§impl<T> MeshPayload for T
impl<T> MeshPayload for T
§impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
impl<T> SerializeMessage for Twhere
T: 'static + MeshPayload + Send,
§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in [
MessageEncode::compute_message_size].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in [
MessageEncode::write_message].