intelrdt

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IntelRdtTasks = "tasks"
)

Variables

This section is empty.

Functions

func GetIntelRdtPath

func GetIntelRdtPath(id string) (string, error)

Get the 'container_id' path in Intel RDT "resource control" filesystem

func IsCATEnabled

func IsCATEnabled() bool

Check if Intel RDT/CAT is enabled

func IsCMTEnabled

func IsCMTEnabled() bool

Check if Intel RDT/CMT is enabled.

func IsMBAEnabled

func IsMBAEnabled() bool

Check if Intel RDT/MBA is enabled

func IsMBAScEnabled

func IsMBAScEnabled() bool

Check if Intel RDT/MBA Software Controller is enabled

func IsMBMEnabled

func IsMBMEnabled() bool

Check if Intel RDT/MBM is enabled.

func IsNotFound

func IsNotFound(err error) bool

func NewLastCmdError

func NewLastCmdError(err error) error

func NewNotFoundError

func NewNotFoundError(res string) error

func WriteIntelRdtTasks

func WriteIntelRdtTasks(dir string, pid int) error

WriteIntelRdtTasks writes the specified pid into the "tasks" file

Types

type CMTNumaNodeStats

type CMTNumaNodeStats struct {
	// The 'llc_occupancy' in 'container_id' group.
	LLCOccupancy uint64 `json:"llc_occupancy"`
}

type L3CacheInfo

type L3CacheInfo struct {
	CbmMask    string `json:"cbm_mask,omitempty"`
	MinCbmBits uint64 `json:"min_cbm_bits,omitempty"`
	NumClosids uint64 `json:"num_closids,omitempty"`
}

type LastCmdError

type LastCmdError struct {
	LastCmdStatus string
	Err           error
}

func (*LastCmdError) Error

func (e *LastCmdError) Error() string

type MBMNumaNodeStats

type MBMNumaNodeStats struct {
	// The 'mbm_total_bytes' in 'container_id' group.
	MBMTotalBytes uint64 `json:"mbm_total_bytes"`

	// The 'mbm_local_bytes' in 'container_id' group.
	MBMLocalBytes uint64 `json:"mbm_local_bytes"`
}

type Manager

type Manager interface {
	// Applies Intel RDT configuration to the process with the specified pid
	Apply(pid int) error

	// Returns statistics for Intel RDT
	GetStats() (*Stats, error)

	// Destroys the Intel RDT 'container_id' group
	Destroy() error

	// Returns Intel RDT path to save in a state file and to be able to
	// restore the object later
	GetPath() string

	// Set Intel RDT "resource control" filesystem as configured.
	Set(container *configs.Config) error
}

func NewManager

func NewManager(config *configs.Config, id string, path string) Manager

type MemBwInfo

type MemBwInfo struct {
	BandwidthGran uint64 `json:"bandwidth_gran,omitempty"`
	DelayLinear   uint64 `json:"delay_linear,omitempty"`
	MinBandwidth  uint64 `json:"min_bandwidth,omitempty"`
	NumClosids    uint64 `json:"num_closids,omitempty"`
}

type NotFoundError

type NotFoundError struct {
	ResourceControl string
}

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

type Stats

type Stats struct {
	// The read-only L3 cache information
	L3CacheInfo *L3CacheInfo `json:"l3_cache_info,omitempty"`

	// The read-only L3 cache schema in root
	L3CacheSchemaRoot string `json:"l3_cache_schema_root,omitempty"`

	// The L3 cache schema in 'container_id' group
	L3CacheSchema string `json:"l3_cache_schema,omitempty"`

	// The read-only memory bandwidth information
	MemBwInfo *MemBwInfo `json:"mem_bw_info,omitempty"`

	// The read-only memory bandwidth schema in root
	MemBwSchemaRoot string `json:"mem_bw_schema_root,omitempty"`

	// The memory bandwidth schema in 'container_id' group
	MemBwSchema string `json:"mem_bw_schema,omitempty"`

	// The memory bandwidth monitoring statistics from NUMA nodes in 'container_id' group
	MBMStats *[]MBMNumaNodeStats `json:"mbm_stats,omitempty"`

	// The cache monitoring technology statistics from NUMA nodes in 'container_id' group
	CMTStats *[]CMTNumaNodeStats `json:"cmt_stats,omitempty"`
}

func NewStats

func NewStats() *Stats

Jump to

Keyboard shortcuts

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