Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const CtxMemoryCgroupID + const CtxMemoryFile + const CtxMemoryFileMap + func IMAWorkAroundForMemFile(fd uintptr) + func MemoryCgroupIDFromContext(ctx context.Context) uint32 + func MemoryFileMapFromContext(ctx context.Context) map[string]*MemoryFile + type AllocOpts struct + Dir Direction + Kind usage.MemoryKind + MemCgID uint32 + Mode AllocationMode + ReaderFunc safemem.ReaderFunc + type AllocationMode int + const AllocateAndCommit + const AllocateAndWritePopulate + const AllocateOnly + type DelayedEvictionType int + const DelayedEvictionDefault + const DelayedEvictionDisabled + const DelayedEvictionEnabled + const DelayedEvictionManual + type Direction int + const BottomUp + const TopDown + func (d Direction) String() string + type EvictableMemoryUser interface + Evict func(ctx context.Context, er EvictableRange) + type MemoryFile struct + func MemoryFileFromContext(ctx context.Context) *MemoryFile + func NewMemoryFile(file *os.File, opts MemoryFileOpts) (*MemoryFile, error) + func (f *MemoryFile) Allocate(length uint64, opts AllocOpts) (memmap.FileRange, error) + func (f *MemoryFile) DecRef(fr memmap.FileRange) + func (f *MemoryFile) Decommit(fr memmap.FileRange) error + func (f *MemoryFile) Destroy() + func (f *MemoryFile) FD() int + func (f *MemoryFile) File() *os.File + func (f *MemoryFile) HasUniqueRef(fr memmap.FileRange) bool + func (f *MemoryFile) IncRef(fr memmap.FileRange, memCgID uint32) + func (f *MemoryFile) IsDiskBacked() bool + func (f *MemoryFile) IsSavable() bool + func (f *MemoryFile) LoadFrom(ctx context.Context, r io.Reader, pr *statefile.AsyncReader) error + func (f *MemoryFile) MapInternal(fr memmap.FileRange, at hostarch.AccessType) (safemem.BlockSeq, error) + func (f *MemoryFile) MarkAllUnevictable(user EvictableMemoryUser) + func (f *MemoryFile) MarkEvictable(user EvictableMemoryUser, er EvictableRange) + func (f *MemoryFile) MarkSavable() + func (f *MemoryFile) MarkUnevictable(user EvictableMemoryUser, er EvictableRange) + func (f *MemoryFile) RestoreID() string + func (f *MemoryFile) SaveTo(ctx context.Context, w io.Writer, pw io.Writer) error + func (f *MemoryFile) ShouldCacheEvictable() bool + func (f *MemoryFile) StartEvictions() + func (f *MemoryFile) String() string + func (f *MemoryFile) TotalSize() uint64 + func (f *MemoryFile) TotalUsage() (uint64, error) + func (f *MemoryFile) UpdateUsage(memCgIDs map[uint32]struct{}) error + func (f *MemoryFile) WaitForEvictions() + type MemoryFileOpts struct + DecommitOnDestroy bool + DelayedEviction DelayedEvictionType + DisableIMAWorkAround bool + DiskBackedFile bool + ManualZeroing bool + RestoreID string + UseHostMemcgPressure bool