topology

package
v1.27.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2023 License: Apache-2.0 Imports: 4 Imported by: 39

Documentation

Overview

Package topology contains helpers for the CPU manager.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPUDetails

type CPUDetails map[int]CPUInfo

CPUDetails is a map from CPU ID to Core ID, Socket ID, and NUMA ID.

func (CPUDetails) CPUs

func (d CPUDetails) CPUs() cpuset.CPUSet

CPUs returns all of the logical CPU IDs in this CPUDetails.

func (CPUDetails) CPUsInCores added in v1.16.0

func (d CPUDetails) CPUsInCores(ids ...int) cpuset.CPUSet

CPUsInCores returns all of the logical CPU IDs associated with the given core IDs in this CPUDetails.

func (CPUDetails) CPUsInNUMANodes added in v1.16.0

func (d CPUDetails) CPUsInNUMANodes(ids ...int) cpuset.CPUSet

CPUsInNUMANodes returns all of the logical CPU IDs associated with the given NUMANode IDs in this CPUDetails.

func (CPUDetails) CPUsInSockets added in v1.16.0

func (d CPUDetails) CPUsInSockets(ids ...int) cpuset.CPUSet

CPUsInSockets returns all of the logical CPU IDs associated with the given socket IDs in this CPUDetails.

func (CPUDetails) Cores

func (d CPUDetails) Cores() cpuset.CPUSet

Cores returns all of the core IDs associated with the CPUs in this CPUDetails.

func (CPUDetails) CoresInNUMANodes added in v1.16.0

func (d CPUDetails) CoresInNUMANodes(ids ...int) cpuset.CPUSet

CoresInNUMANodes returns all of the core IDs associated with the given NUMANode IDs in this CPUDetails.

func (CPUDetails) CoresInSockets added in v1.16.0

func (d CPUDetails) CoresInSockets(ids ...int) cpuset.CPUSet

CoresInSockets returns all of the core IDs associated with the given socket IDs in this CPUDetails.

func (CPUDetails) KeepOnly

func (d CPUDetails) KeepOnly(cpus cpuset.CPUSet) CPUDetails

KeepOnly returns a new CPUDetails object with only the supplied cpus.

func (CPUDetails) NUMANodes added in v1.16.0

func (d CPUDetails) NUMANodes() cpuset.CPUSet

NUMANodes returns all of the NUMANode IDs associated with the CPUs in this CPUDetails.

func (CPUDetails) NUMANodesInSockets added in v1.16.0

func (d CPUDetails) NUMANodesInSockets(ids ...int) cpuset.CPUSet

NUMANodesInSockets returns all of the logical NUMANode IDs associated with the given socket IDs in this CPUDetails.

func (CPUDetails) Sockets

func (d CPUDetails) Sockets() cpuset.CPUSet

Sockets returns all of the socket IDs associated with the CPUs in this CPUDetails.

func (CPUDetails) SocketsInNUMANodes added in v1.16.0

func (d CPUDetails) SocketsInNUMANodes(ids ...int) cpuset.CPUSet

SocketsInNUMANodes returns all of the logical Socket IDs associated with the given NUMANode IDs in this CPUDetails.

type CPUInfo

type CPUInfo struct {
	NUMANodeID int
	SocketID   int
	CoreID     int
}

CPUInfo contains the NUMA, socket, and core IDs associated with a CPU.

type CPUTopology

type CPUTopology struct {
	NumCPUs      int
	NumCores     int
	NumSockets   int
	NumNUMANodes int
	CPUDetails   CPUDetails
}

CPUTopology contains details of node cpu, where : CPU - logical CPU, cadvisor - thread Core - physical CPU, cadvisor - Core Socket - socket, cadvisor - Socket NUMA Node - NUMA cell, cadvisor - Node

func Discover

func Discover(machineInfo *cadvisorapi.MachineInfo) (*CPUTopology, error)

Discover returns CPUTopology based on cadvisor node info

func (*CPUTopology) CPUCoreID added in v1.27.0

func (topo *CPUTopology) CPUCoreID(cpu int) (int, error)

CPUCoreID returns the physical core ID which the given logical CPU belongs to.

func (*CPUTopology) CPUNUMANodeID added in v1.27.0

func (topo *CPUTopology) CPUNUMANodeID(cpu int) (int, error)

CPUCoreID returns the NUMA node ID which the given logical CPU belongs to.

func (*CPUTopology) CPUSocketID added in v1.27.0

func (topo *CPUTopology) CPUSocketID(cpu int) (int, error)

CPUCoreID returns the socket ID which the given logical CPU belongs to.

func (*CPUTopology) CPUsPerCore

func (topo *CPUTopology) CPUsPerCore() int

CPUsPerCore returns the number of logical CPUs are associated with each core.

func (*CPUTopology) CPUsPerSocket

func (topo *CPUTopology) CPUsPerSocket() int

CPUsPerSocket returns the number of logical CPUs are associated with each socket.

type NUMANodeInfo added in v1.16.0

type NUMANodeInfo map[int]cpuset.CPUSet

NUMANodeInfo is a map from NUMANode ID to a list of CPU IDs associated with that NUMANode.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL