Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct {
// NUMAAffinity contains the string that represents NUMA affinity bitmask
NUMAAffinity []int `json:"numaAffinity"`
Type v1.ResourceName `json:"type"`
Size uint64 `json:"size"`
}
Block is a data structure used to represent a certain amount of memory
type ContainerMemoryAssignments ¶
ContainerMemoryAssignments stores memory assignments of containers
func (ContainerMemoryAssignments) Clone ¶
func (as ContainerMemoryAssignments) Clone() ContainerMemoryAssignments
Clone returns a copy of ContainerMemoryAssignments
type MemoryManagerCheckpoint ¶
type MemoryManagerCheckpoint struct {
PolicyName string `json:"policyName"`
MachineState NUMANodeMap `json:"machineState"`
Entries ContainerMemoryAssignments `json:"entries,omitempty"`
Checksum checksum.Checksum `json:"checksum"`
}
MemoryManagerCheckpoint struct is used to store memory/pod assignments in a checkpoint
func NewMemoryManagerCheckpoint ¶
func NewMemoryManagerCheckpoint() *MemoryManagerCheckpoint
NewMemoryManagerCheckpoint returns an instance of Checkpoint
func (*MemoryManagerCheckpoint) MarshalCheckpoint ¶
func (mp *MemoryManagerCheckpoint) MarshalCheckpoint() ([]byte, error)
MarshalCheckpoint returns marshalled checkpoint
func (*MemoryManagerCheckpoint) UnmarshalCheckpoint ¶
func (mp *MemoryManagerCheckpoint) UnmarshalCheckpoint(blob []byte) error
UnmarshalCheckpoint tries to unmarshal passed bytes to checkpoint
func (*MemoryManagerCheckpoint) VerifyChecksum ¶
func (mp *MemoryManagerCheckpoint) VerifyChecksum() error
VerifyChecksum verifies that current checksum of checkpoint is valid
type MemoryTable ¶
type MemoryTable struct {
TotalMemSize uint64 `json:"total"`
SystemReserved uint64 `json:"systemReserved"`
Allocatable uint64 `json:"allocatable"`
Reserved uint64 `json:"reserved"`
Free uint64 `json:"free"`
}
MemoryTable contains memory information
type NUMANodeMap ¶
type NUMANodeMap map[int]*NUMANodeState
NUMANodeMap contains memory information for each NUMA node.
func (NUMANodeMap) Clone ¶
func (nm NUMANodeMap) Clone() NUMANodeMap
Clone returns a copy of NUMANodeMap
type NUMANodeState ¶
type NUMANodeState struct {
// NumberOfAssignments contains a number memory assignments from this node
// When the container requires memory and hugepages it will increase number of assignments by two
NumberOfAssignments int `json:"numberOfAssignments"`
// MemoryTable contains NUMA node memory related information
MemoryMap map[v1.ResourceName]*MemoryTable `json:"memoryMap"`
// Cells contains the current NUMA node and all other nodes that are in a group with current NUMA node
// This parameter indicates if the current node is used for the multiple NUMA node memory allocation
// For example if some container has pinning 0,1,2, NUMA nodes 0,1,2 under the state will have
// this parameter equals to [0, 1, 2]
Cells []int `json:"cells"`
}
NUMANodeState contains NUMA node related information
type Reader ¶
type Reader interface {
// GetMachineState returns Memory Map stored in the State
GetMachineState() NUMANodeMap
// GetMemoryBlocks returns memory assignments of a container
GetMemoryBlocks(podUID string, containerName string) []Block
// GetMemoryAssignments returns ContainerMemoryAssignments
GetMemoryAssignments() ContainerMemoryAssignments
}
Reader interface used to read current memory/pod assignment state
type State ¶
type State interface {
Reader
// contains filtered or unexported methods
}
State interface provides methods for tracking and setting memory/pod assignment
func NewCheckpointState ¶
NewCheckpointState creates new State for keeping track of memory/pod assignment with checkpoint backend
func NewMemoryState ¶
func NewMemoryState() State
NewMemoryState creates new State for keeping track of cpu/pod assignment