Documentation ¶
Overview ¶
Package topology contains helpers for the CPU manager.
Index ¶
- type CPUDetails
- func (d CPUDetails) CPUs() cpuset.CPUSet
- func (d CPUDetails) CPUsInCores(ids ...int) cpuset.CPUSet
- func (d CPUDetails) CPUsInNUMANodes(ids ...int) cpuset.CPUSet
- func (d CPUDetails) CPUsInSockets(ids ...int) cpuset.CPUSet
- func (d CPUDetails) CPUsInUncoreCaches(ids ...int) cpuset.CPUSet
- func (d CPUDetails) Cores() cpuset.CPUSet
- func (d CPUDetails) CoresInNUMANodes(ids ...int) cpuset.CPUSet
- func (d CPUDetails) CoresInSockets(ids ...int) cpuset.CPUSet
- func (d CPUDetails) CoresNeededInUncoreCache(numCoresNeeded int, ids ...int) cpuset.CPUSet
- func (d CPUDetails) KeepOnly(cpus cpuset.CPUSet) CPUDetails
- func (d CPUDetails) NUMANodes() cpuset.CPUSet
- func (d CPUDetails) NUMANodesInSockets(ids ...int) cpuset.CPUSet
- func (d CPUDetails) Sockets() cpuset.CPUSet
- func (d CPUDetails) SocketsInNUMANodes(ids ...int) cpuset.CPUSet
- func (d CPUDetails) UncoreCaches() cpuset.CPUSet
- func (d CPUDetails) UncoreInNUMANodes(ids ...int) cpuset.CPUSet
- type CPUInfo
- type CPUTopology
- func (topo *CPUTopology) CPUCoreID(cpu int) (int, error)
- func (topo *CPUTopology) CPUNUMANodeID(cpu int) (int, error)
- func (topo *CPUTopology) CPUSocketID(cpu int) (int, error)
- func (topo *CPUTopology) CPUsPerCore() int
- func (topo *CPUTopology) CPUsPerSocket() int
- func (topo *CPUTopology) CPUsPerUncore() int
- type NUMANodeInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUDetails ¶
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) CPUsInUncoreCaches ¶ added in v1.32.0
func (d CPUDetails) CPUsInUncoreCaches(ids ...int) cpuset.CPUSet
CPUsInUncoreCaches returns all the logical CPU IDs associated with the given UnCoreCache 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) CoresNeededInUncoreCache ¶ added in v1.32.0
func (d CPUDetails) CoresNeededInUncoreCache(numCoresNeeded int, ids ...int) cpuset.CPUSet
CoresNeededInUncoreCache returns either the full list of all available unique core IDs associated with the given UnCoreCache IDs in this CPUDetails or subset that matches the ask.
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.
func (CPUDetails) UncoreCaches ¶ added in v1.32.0
func (d CPUDetails) UncoreCaches() cpuset.CPUSet
UncoreCaches returns all the uncorecache Id (L3 Index) associated with the CPUs in this CPUDetails
func (CPUDetails) UncoreInNUMANodes ¶ added in v1.32.0
func (d CPUDetails) UncoreInNUMANodes(ids ...int) cpuset.CPUSet
UnCoresInNUMANodes returns all of the uncore IDs associated with the given NUMANode IDs in this CPUDetails.
type CPUTopology ¶
type CPUTopology struct { NumCPUs int NumCores int NumUncoreCache 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 UncoreCache - Split L3 Cache Topology, cadvisor
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.
func (*CPUTopology) CPUsPerUncore ¶ added in v1.32.0
func (topo *CPUTopology) CPUsPerUncore() int
CPUsPerUncore returns the number of logicial CPUs that are associated with each UncoreCache
type NUMANodeInfo ¶ added in v1.16.0
NUMANodeInfo is a map from NUMANode ID to a list of CPU IDs associated with that NUMANode.