package intelrdt
import "github.com/opencontainers/runc/libcontainer/intelrdt"
Index ¶
- Constants
- func GetIntelRdtPath(id string) (string, error)
- func IsCMTEnabled() bool
- func IsCatEnabled() bool
- func IsMBMEnabled() bool
- func IsMbaEnabled() bool
- func IsMbaScEnabled() bool
- func IsNotFound(err error) bool
- func NewLastCmdError(err error) error
- func NewNotFoundError(res string) error
- func WriteIntelRdtTasks(dir string, pid int) error
- type CMTNumaNodeStats
- type IntelRdtManager
- func (m *IntelRdtManager) Apply(pid int) (err error)
- func (m *IntelRdtManager) Destroy() error
- func (m *IntelRdtManager) GetPath() string
- func (m *IntelRdtManager) GetStats() (*Stats, error)
- func (m *IntelRdtManager) Set(container *configs.Config) error
- type L3CacheInfo
- type LastCmdError
- type MBMNumaNodeStats
- type Manager
- type MemBwInfo
- type NotFoundError
- type Stats
Constants ¶
const (
IntelRdtTasks = "tasks"
)
Functions ¶
func GetIntelRdtPath ¶
Get the 'container_id' path in Intel RDT "resource control" filesystem
func IsCMTEnabled ¶
func IsCMTEnabled() bool
Check if Intel RDT/CMT is enabled.
func IsCatEnabled ¶
func IsCatEnabled() bool
Check if Intel RDT/CAT is enabled
func IsMBMEnabled ¶
func IsMBMEnabled() bool
Check if Intel RDT/MBM 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 IsNotFound ¶
func NewLastCmdError ¶
func NewNotFoundError ¶
func WriteIntelRdtTasks ¶
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,omitempty"` }
type IntelRdtManager ¶
type IntelRdtManager struct { Config *configs.Config Id string Path string // contains filtered or unexported fields }
This implements interface Manager
func (*IntelRdtManager) Apply ¶
func (m *IntelRdtManager) Apply(pid int) (err error)
Applies Intel RDT configuration to the process with the specified pid
func (*IntelRdtManager) Destroy ¶
func (m *IntelRdtManager) Destroy() error
Destroys the Intel RDT 'container_id' group
func (*IntelRdtManager) GetPath ¶
func (m *IntelRdtManager) GetPath() string
Returns Intel RDT path to save in a state file and to be able to restore the object later
func (*IntelRdtManager) GetStats ¶
func (m *IntelRdtManager) GetStats() (*Stats, error)
Returns statistics for Intel RDT
func (*IntelRdtManager) Set ¶
func (m *IntelRdtManager) Set(container *configs.Config) error
Set Intel RDT "resource control" filesystem as configured.
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 ¶
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,omitempty"` // The 'mbm_local_bytes' in 'container_id' group. MBMLocalBytes uint64 `json:"mbm_local_bytes,omitempty"` }
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 }
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
Source Files ¶
cmt.go intelrdt.go mbm.go monitoring.go stats.go
- Version
- v1.0.0-rc92
- Published
- Aug 5, 2020
- Platform
- linux/amd64
- Imports
- 11 packages
- Last checked
- 14 minutes ago –
Tools for package owners.