Documentation
¶
Index ¶
- type GuestRegionUffdMapping
- type MemoryManager
- func (m *MemoryManager) Activate(vmID string, socketReadyCh chan<- struct{}) error
- func (m *MemoryManager) Deactivate(vmID string) error
- func (m *MemoryManager) DeregisterVM(vmID string) error
- func (m *MemoryManager) DumpUPFLatencyStats(vmID, functionName, latencyOutFilePath string) error
- func (m *MemoryManager) DumpUPFPageStats(vmID, functionName, metricsOutFilePath string) error
- func (m *MemoryManager) FetchState(vmID string) error
- func (m *MemoryManager) GetUPFLatencyStats(vmID string) ([]*metrics.Metric, error)
- func (m *MemoryManager) PrepareSnapshotLoad(cfg SnapshotStateCfg) error
- func (m *MemoryManager) RegisterVM(cfg SnapshotStateCfg) error
- type MemoryManagerCfg
- type Record
- type SnapshotState
- type SnapshotStateCfg
- type Trace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GuestRegionUffdMapping ¶ added in v1.9.0
type GuestRegionUffdMapping struct {
BaseHostVirtAddr uint64 `json:"base_host_virt_addr"`
Size uint64 `json:"size"`
Offset uint64 `json:"offset"`
PageSize uint64 `json:"page_size"`
}
GuestRegionUffdMapping describes Firecracker's UFFD guest memory mapping.
type MemoryManager ¶
type MemoryManager struct {
sync.Mutex
MemoryManagerCfg
// contains filtered or unexported fields
}
MemoryManager Serves page faults coming from VMs
func NewMemoryManager ¶
func NewMemoryManager(cfg MemoryManagerCfg) *MemoryManager
NewMemoryManager Initializes a new memory manager
func (*MemoryManager) Activate ¶
func (m *MemoryManager) Activate(vmID string, socketReadyCh chan<- struct{}) error
Activate creates an epoller to serve page faults and reports when the UFFD socket listener is ready for Firecracker to connect.
func (*MemoryManager) Deactivate ¶
func (m *MemoryManager) Deactivate(vmID string) error
Deactivate Removes the epoller which serves page faults for the VM
func (*MemoryManager) DeregisterVM ¶
func (m *MemoryManager) DeregisterVM(vmID string) error
DeregisterVM Deregisters a VM from the memory manager
func (*MemoryManager) DumpUPFLatencyStats ¶
func (m *MemoryManager) DumpUPFLatencyStats(vmID, functionName, latencyOutFilePath string) error
DumpUPFLatencyStats Dumps latency stats collected for the VM
func (*MemoryManager) DumpUPFPageStats ¶
func (m *MemoryManager) DumpUPFPageStats(vmID, functionName, metricsOutFilePath string) error
DumpUPFPageStats Saves the per VM stats
func (*MemoryManager) FetchState ¶
func (m *MemoryManager) FetchState(vmID string) error
FetchState verifies that snapshot state needed by the memory manager exists.
func (*MemoryManager) GetUPFLatencyStats ¶
func (m *MemoryManager) GetUPFLatencyStats(vmID string) ([]*metrics.Metric, error)
GetUPFLatencyStats Returns the gathered metrics for the VM
func (*MemoryManager) PrepareSnapshotLoad ¶ added in v1.9.0
func (m *MemoryManager) PrepareSnapshotLoad(cfg SnapshotStateCfg) error
PrepareSnapshotLoad creates or refreshes the state used to serve UFFD faults while loading a VM snapshot.
func (*MemoryManager) RegisterVM ¶
func (m *MemoryManager) RegisterVM(cfg SnapshotStateCfg) error
RegisterVM Registers a VM within the memory manager
type MemoryManagerCfg ¶
type MemoryManagerCfg struct {
MetricsModeOn bool
}
MemoryManagerCfg Global config of the manager
type Record ¶
type Record struct {
// contains filtered or unexported fields
}
Record identifies one guest memory page by its offset in the full memory file.
type SnapshotState ¶
type SnapshotState struct {
SnapshotStateCfg
// contains filtered or unexported fields
}
SnapshotState Stores the state of the snapshot of the VM.
func NewSnapshotState ¶
func NewSnapshotState(cfg SnapshotStateCfg) *SnapshotState
NewSnapshotState Initializes a snapshot state
type SnapshotStateCfg ¶
type SnapshotStateCfg struct {
VMID string
VMMStatePath, GuestMemPath, WorkingSetPath, WorkingSetTracePath string
InstanceSockAddr string
BaseDir string // base directory for the instance
MetricsPath string // path to csv file where the metrics should be stored
IsLazyMode bool
GuestMemSize int
// contains filtered or unexported fields
}
SnapshotStateCfg Config to initialize SnapshotState
type Trace ¶
Trace stores recorded guest memory page offsets and replay regions.