package utils

import "github.com/intel/goresctrl/pkg/utils"

Index

Constants

const (
	SysfsUncoreBasepath = "sys/devices/system/cpu/intel_uncore_frequency"
	SysfsCpuBasepath    = "sys/devices/system/cpu"
)

Functions

func DumpJSON

func DumpJSON(r interface{}) string

DumpJSON dumps a json-compatible struct in human-readable form

func GetCPUFreqValue

func GetCPUFreqValue(cpu ID, setting string) (int, error)

GetCPUFreqValue returns information of the currently used CPU frequency

func ReadMSR

func ReadMSR(cpu ID, msr int64) (uint64, error)

func SetCPUScalingGovernor

func SetCPUScalingGovernor(cpu ID, governor string) error

func SetCPUScalingMaxFreq

func SetCPUScalingMaxFreq(cpu ID, freq int) error

SetCPUScalingMaxFreq sets the scaling_max_freq value of a given CPU

func SetCPUScalingMinFreq

func SetCPUScalingMinFreq(cpu ID, freq int) error

SetCPUScalingMinFreq sets the scaling_min_freq value of a given CPU

func SetCPUsScalingMaxFreq

func SetCPUsScalingMaxFreq(cpus []ID, freq int) error

SetCPUsScalingMaxFreq sets the scaling_max_freq value of a given set of CPUs

func SetCPUsScalingMinFreq

func SetCPUsScalingMinFreq(cpus []ID, freq int) error

SetCPUsScalingMinFreq sets the scaling_min_freq value of a given set of CPUs

func SetScalingGovernorForCPUs

func SetScalingGovernorForCPUs(cpus []ID, governor string) error

SetScalingGovernorForCPUs sets the scaling_governor of a given set of CPUs

func SetUncoreMaxFreq

func SetUncoreMaxFreq(pkg, die ID, freqKhz int) error

SetUncoreMaxFreq sets the maximum uncore frequency of a CPU die. Frequency is specified in kHz.

func SetUncoreMinFreq

func SetUncoreMinFreq(pkg, die ID, freqKhz int) error

SetUncoreMinFreq sets the minimum uncore frequency of a CPU die. Frequency is specified in kHz.

func SortUint64s

func SortUint64s(a []uint64)

SortUint64s sorts a slice of uint64 in increasing order.

func UncoreFreqAvailable

func UncoreFreqAvailable() bool

UncoreFreqAvailable returns true if the uncore frequency control functions are available.

Types

type ID

type ID = int

ID is nn integer id, used to identify packages, CPUs, nodes, etc.

const (
	// Unknown represents an unknown id.
	Unknown ID = -1
)

type IDSet

type IDSet map[ID]struct{}

IDSet is an unordered set of integer ids.

func NewIDSet

func NewIDSet(ids ...ID) IDSet

NewIDSet creates a new unordered set of (integer) ids.

func NewIDSetFromIntSlice

func NewIDSetFromIntSlice(ids ...int) IDSet

NewIDSetFromIntSlice creates a new unordered set from an integer slice.

func (IDSet) Add

func (s IDSet) Add(ids ...ID)

Add adds the given ids into the set.

func (IDSet) Clone

func (s IDSet) Clone() IDSet

Clone returns a copy of this IdSet.

func (IDSet) Del

func (s IDSet) Del(ids ...ID)

Del deletes the given ids from the set.

func (IDSet) Has

func (s IDSet) Has(ids ...ID) bool

Has tests if all the ids are present in the set.

func (IDSet) MarshalJSON

func (s IDSet) MarshalJSON() ([]byte, error)

MarshalJSON is the JSON marshaller for IDSet.

func (IDSet) Members

func (s IDSet) Members() []ID

Members returns all ids in the set as a randomly ordered slice.

func (IDSet) Size

func (s IDSet) Size() int

Size returns the number of ids in the set.

func (IDSet) SortedMembers

func (s IDSet) SortedMembers() []ID

SortedMembers returns all ids in the set as a sorted slice.

func (IDSet) String

func (s IDSet) String() string

String returns the set as a string.

func (IDSet) StringWithSeparator

func (s IDSet) StringWithSeparator(args ...string) string

StringWithSeparator returns the set as a string, separated with the given separator.

func (*IDSet) UnmarshalJSON

func (s *IDSet) UnmarshalJSON(data []byte) error

UnmarshalJSON is the JSON unmarshaller for IDSet.

type Uint64Slice

type Uint64Slice []uint64

Uint64Slice implmenents sort.Interface for a slice of uint64.

func (Uint64Slice) Len

func (s Uint64Slice) Len() int

Len returns the length of an UintSlice

func (Uint64Slice) Less

func (s Uint64Slice) Less(i, j int) bool

Less returns true if element at 'i' is less than the element at 'j'

func (Uint64Slice) Swap

func (s Uint64Slice) Swap(i, j int)

Swap swaps the values of two elements

Source Files

idset.go json.go msr.go sort.go sysfs.go

Version
v0.8.0 (latest)
Published
Sep 19, 2024
Platform
linux/amd64
Imports
9 packages
Last checked
2 days ago

Tools for package owners.