topology

package
v1.32.0 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 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) 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 CPUInfo

type CPUInfo struct {
	NUMANodeID    int
	SocketID      int
	CoreID        int
	UncoreCacheID int
}

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

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

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