qrm

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: May 27, 2024 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPUDynamicPolicyOptions added in v0.3.0

type CPUDynamicPolicyOptions struct {
	EnableCPUAdvisor              bool
	EnableCPUPressureEviction     bool
	LoadPressureEvictionSkipPools []string
	EnableSyncingCPUIdle          bool
	EnableCPUIdle                 bool
}

type CPUNativePolicyOptions added in v0.3.0

type CPUNativePolicyOptions struct {
	EnableFullPhysicalCPUsOnly bool
	CPUAllocationOption        string
}

type CPUOptions

type CPUOptions struct {
	PolicyName             string
	ReservedCPUCores       int
	SkipCPUStateCorruption bool

	CPUDynamicPolicyOptions
	CPUNativePolicyOptions
}

func NewCPUOptions

func NewCPUOptions() *CPUOptions

func (*CPUOptions) AddFlags

func (o *CPUOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*CPUOptions) ApplyTo

func (o *CPUOptions) ApplyTo(conf *qrmconfig.CPUQRMPluginConfig) error

type GenericQRMPluginOptions

type GenericQRMPluginOptions struct {
	QRMPluginSocketDirs      []string
	StateFileDirectory       string
	ExtraStateFileAbsPath    string
	PodDebugAnnoKeys         []string
	UseKubeletReservedConfig bool
}

func NewGenericQRMPluginOptions

func NewGenericQRMPluginOptions() *GenericQRMPluginOptions

func (*GenericQRMPluginOptions) AddFlags

func (o *GenericQRMPluginOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*GenericQRMPluginOptions) ApplyTo

type IOCostOption added in v0.4.1

type IOCostOption struct {
	EnableSettingIOCost   bool
	IOCostQoSConfigFile   string
	IOCostModelConfigFile string
}

type IOOptions added in v0.4.0

type IOOptions struct {
	PolicyName string

	WritebackThrottlingOption // option for writeback throttling, it determin the recycling speed of dirty memory.
	// TO-DO
	// DirtyThrottlingOption // option for dirty throttling, it determin the global watermark of dirty memory.
	IOCostOption
	IOWeightOption
}

func NewIOOptions added in v0.4.0

func NewIOOptions() *IOOptions

func (*IOOptions) AddFlags added in v0.4.0

func (o *IOOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*IOOptions) ApplyTo added in v0.4.0

func (o *IOOptions) ApplyTo(conf *qrmconfig.IOQRMPluginConfig) error

type IOWeightOption added in v0.4.1

type IOWeightOption struct {
	EnableSettingIOWeight         bool
	IOWeightQoSLevelConfigFile    string
	IOWeightCgroupLevelConfigFile string
}

type MemoryOptions

type MemoryOptions struct {
	PolicyName                  string
	ReservedMemoryGB            uint64
	SkipMemoryStateCorruption   bool
	EnableSettingMemoryMigrate  bool
	EnableMemoryAdvisor         bool
	ExtraControlKnobConfigFile  string
	EnableOOMPriority           bool
	OOMPriorityPinnedMapAbsPath string

	SockMemOptions
}

func NewMemoryOptions

func NewMemoryOptions() *MemoryOptions

func (*MemoryOptions) AddFlags

func (o *MemoryOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*MemoryOptions) ApplyTo

type NetClassOptions added in v0.2.0

type NetClassOptions struct {
	// ReclaimedCores is the network class id for reclaimed_cores
	ReclaimedCores uint32
	// SharedCores is the network class id for shared_cores
	SharedCores uint32
	// DedicatedCores is the network class id for dedicated_cores
	DedicatedCores uint32
	// SystemCores is the network class id for system_cores
	SystemCores uint32
}

type NetworkOptions added in v0.2.0

type NetworkOptions struct {
	PolicyName                                      string
	NetClass                                        NetClassOptions
	ReservedBandwidth                               uint32
	EgressCapacityRate                              float32
	IngressCapacityRate                             float32
	SkipNetworkStateCorruption                      bool
	PodLevelNetClassAnnoKey                         string
	PodLevelNetAttributesAnnoKeys                   string
	IPv4ResourceAllocationAnnotationKey             string
	IPv6ResourceAllocationAnnotationKey             string
	NetNSPathResourceAllocationAnnotationKey        string
	NetInterfaceNameResourceAllocationAnnotationKey string
	NetClassIDResourceAllocationAnnotationKey       string
	NetBandwidthResourceAllocationAnnotationKey     string
}

func NewNetworkOptions added in v0.2.0

func NewNetworkOptions() *NetworkOptions

func (*NetworkOptions) AddFlags added in v0.2.0

func (o *NetworkOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*NetworkOptions) ApplyTo added in v0.2.0

type QRMPluginsOptions

type QRMPluginsOptions struct {
	CPUOptions     *CPUOptions
	MemoryOptions  *MemoryOptions
	NetworkOptions *NetworkOptions
	IOOptions      *IOOptions
}

func NewQRMPluginsOptions

func NewQRMPluginsOptions() *QRMPluginsOptions

func (*QRMPluginsOptions) AddFlags

func (o *QRMPluginsOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*QRMPluginsOptions) ApplyTo

type SockMemOptions added in v0.4.0

type SockMemOptions struct {
	EnableSettingSockMem bool
	// SetGlobalTCPMemRatio limits global max tcp memory usage.
	SetGlobalTCPMemRatio int
	// SetCgroupTCPMemLimitRatio limit cgroup max tcp memory usage.
	SetCgroupTCPMemRatio int
}

type WritebackThrottlingOption added in v0.4.1

type WritebackThrottlingOption struct {
	EnableSettingWBT bool
	WBTValueHDD      int
	WBTValueSSD      int
	WBTValueNVME     int
}

Jump to

Keyboard shortcuts

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