Documentation
¶
Index ¶
- Constants
- func CPUSetFromIDSet(s idset.IDSet) cpuset.CPUSet
- func IDSetFromCPUSet(cset cpuset.CPUSet) idset.IDSet
- func ParseFileEntries(path string, values map[string]interface{}, pickFn PickEntryFn) error
- func SetSysRoot(root string)
- type CPU
- type CPUFreq
- type CPUPackage
- type Cache
- type CacheType
- type CoreKind
- type DiscoveryFlag
- type EPP
- type MemInfo
- type MemoryType
- type Node
- type PickEntryFn
- type System
Constants ¶
const ( M = (int64(1) << 20) G = (int64(1) << 30) T = (int64(1) << 40) )
unit multipliers
Variables ¶
This section is empty.
Functions ¶
func CPUSetFromIDSet ¶
CPUSetFromIDSet returns a cpuset.CPUSet corresponding to an id set.
func IDSetFromCPUSet ¶
IDSetFromCPUSet returns an id set corresponding to a cpuset.CPUSet.
func ParseFileEntries ¶
func ParseFileEntries(path string, values map[string]interface{}, pickFn PickEntryFn) error
ParseFileEntries parses a sysfs files for the given entries.
Types ¶
type CPU ¶
type CPU interface { ID() idset.ID PackageID() idset.ID DieID() idset.ID ClusterID() idset.ID NodeID() idset.ID CoreID() idset.ID ThreadCPUSet() cpuset.CPUSet BaseFrequency() uint64 FrequencyRange() CPUFreq EPP() EPP Online() bool Isolated() bool SetFrequencyLimits(min, max uint64) error SstClos() int CacheCount() int GetCaches() []*Cache GetCachesByLevel(int) []*Cache GetCacheByIndex(int) *Cache GetNthLevelCacheCPUSet(n int) cpuset.CPUSet GetLastLevelCaches() []*Cache GetLastLevelCacheCPUSet() cpuset.CPUSet CoreKind() CoreKind }
CPU is a CPU core.
type CPUFreq ¶
type CPUFreq struct {
// contains filtered or unexported fields
}
CPUFreq is a CPU frequency scaling range
type CPUPackage ¶
type CPUPackage interface { ID() idset.ID CPUSet() cpuset.CPUSet DieIDs() []idset.ID NodeIDs() []idset.ID DieNodeIDs(idset.ID) []idset.ID DieCPUSet(idset.ID) cpuset.CPUSet DieClusterIDs(idset.ID) []idset.ID DieClusterCPUSet(idset.ID, idset.ID) cpuset.CPUSet LogicalDieClusterIDs(idset.ID) []idset.ID LogicalDieClusterCPUSet(idset.ID, idset.ID) cpuset.CPUSet SstInfo() *sst.SstPackageInfo }
CPUPackage is a physical package (a collection of CPUs).
type Cache ¶
type Cache struct {
// contains filtered or unexported fields
}
Cache has details about a CPU cache.
func (*Cache) SharedCPUSet ¶ added in v0.5.0
type CoreKind ¶ added in v0.5.0
type CoreKind int
CoreKind represents high-level classification of CPU cores, currently P- and E-cores
type DiscoveryFlag ¶
type DiscoveryFlag uint
DiscoveryFlag controls what hardware details to discover.
const ( // DiscoverCPUTopology requests discovering CPU topology details. DiscoverCPUTopology DiscoveryFlag = 1 << iota // DiscoverMemTopology requests discovering memory topology details. DiscoverMemTopology // DiscoverCache requests discovering CPU cache details. DiscoverCache // DiscoverSst requests discovering details of Intel Speed Select Technology DiscoverSst // DiscoverNone is the zero value for discovery flags. DiscoverNone DiscoveryFlag = 0 // DiscoverAll requests full supported discovery. DiscoverAll DiscoveryFlag = 0xffffffff // DiscoverDefault is the default set of discovery flags. DiscoverDefault DiscoveryFlag = DiscoverAll )
type MemoryType ¶
type MemoryType int
MemoryType is an enum for the Node memory
const ( // MemoryTypeDRAM means that the node has regular DRAM-type memory MemoryTypeDRAM MemoryType = iota // MemoryTypePMEM means that the node has persistent memory MemoryTypePMEM // MemoryTypeHBM means that the node has high bandwidth memory MemoryTypeHBM )
func (MemoryType) String ¶ added in v0.7.0
func (t MemoryType) String() string
type Node ¶
type Node interface { ID() idset.ID PackageID() idset.ID DieID() idset.ID CPUSet() cpuset.CPUSet Distance() []int DistanceFrom(id idset.ID) int MemoryInfo() (*MemInfo, error) GetMemoryType() MemoryType HasNormalMemory() bool }
Node represents a NUMA node.
type PickEntryFn ¶
PickEntryFn picks a given input line apart into an entry of key and value.
type System ¶
type System interface { Discover(flags DiscoveryFlag) error SetCpusOnline(online bool, cpus idset.IDSet) (idset.IDSet, error) SetCPUFrequencyLimits(min, max uint64, cpus idset.IDSet) error PackageIDs() []idset.ID NodeIDs() []idset.ID CPUIDs() []idset.ID PackageCount() int SocketCount() int CPUCount() int NUMANodeCount() int MinThreadCount() int MaxThreadCount() int CPUSet() cpuset.CPUSet Package(id idset.ID) CPUPackage Node(id idset.ID) Node NodeDistance(from, to idset.ID) int CPU(id idset.ID) CPU PossibleCPUs() cpuset.CPUSet PresentCPUs() cpuset.CPUSet OnlineCPUs() cpuset.CPUSet IsolatedCPUs() cpuset.CPUSet OfflineCPUs() cpuset.CPUSet CoreKindCPUs(CoreKind) cpuset.CPUSet CoreKinds() []CoreKind AllThreadsForCPUs(cpuset.CPUSet) cpuset.CPUSet SingleThreadForCPUs(cpuset.CPUSet) cpuset.CPUSet Offlined() cpuset.CPUSet Isolated() cpuset.CPUSet }
System devices
func DiscoverSystem ¶
func DiscoverSystem(args ...DiscoveryFlag) (System, error)
DiscoverSystem performs discovery of the running systems details.
func DiscoverSystemAt ¶
func DiscoverSystemAt(path string, args ...DiscoveryFlag) (System, error)
DiscoverSystemAt performs discovery of the running systems details from sysfs mounted at path.