Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
274534e
feat(gpu): add static policy implementation for GPU resource management
luomingmeng Jun 20, 2025
bd12c5b
refactor(topology): skip add zone node which is not a child of socket…
luomingmeng Jun 20, 2025
ce727bf
feat(gpu): enhance GPU memory allocation with NUMA awareness
luomingmeng Jul 25, 2025
c76e134
refactor(cpu): remove unused preferredHintIndexes variable
luomingmeng Jul 25, 2025
1e8bfb2
feat(resource-plugin): add associated device allocation support
luomingmeng Jul 25, 2025
7ef74f5
refactor(qrm-plugins): embed UnimplementedResourcePluginServer in pol…
luomingmeng Jul 25, 2025
4470d02
feat(gpu): add associated device topology hints support
luomingmeng Jul 31, 2025
fe70af9
fix typo and add logs
luomingmeng Aug 4, 2025
11f153e
refactor(gpu): remove redundant non-numa-affinity gpu allocation logic
luomingmeng Aug 4, 2025
ea554e6
feat(gpu): optimize GPU allocation by preferring NUMA nodes with most…
luomingmeng Sep 22, 2025
7e1e3b3
feat: refactor code into resource plugins and custom device plugins
JustinChengLZ Oct 1, 2025
e3e69ee
chore: add unit tests
JustinChengLZ Oct 2, 2025
2ebc709
feat: introduce rdma state and allow states to share within gpu sub-p…
JustinChengLZ Oct 10, 2025
f77d28e
feat: refactor state to only be in one file
JustinChengLZ Oct 13, 2025
318f98b
feat: implement rdma custom device plugin and implement logic for acc…
JustinChengLZ Oct 15, 2025
3d2f441
feat: implement allocation of accompany resource first before device
JustinChengLZ Oct 18, 2025
e6e9474
Update gpu_plugin.go
JustinChengLZ Oct 21, 2025
4cc1a81
refactor(gpu): restructure device plugin and resource management
luomingmeng Oct 20, 2025
93ce81e
refactor: remove unused GenerateDummyGPUTopology function
luomingmeng Oct 21, 2025
b90ed38
feat(gpu): implement strategy-based GPU allocation framework
luomingmeng Oct 21, 2025
095e546
refactor(gpu-strategy): reorganize gpu allocation strategy components
luomingmeng Oct 22, 2025
e9cf4eb
refactor(gpu-strategy): make strategy fields private and add accessors
luomingmeng Oct 22, 2025
856b685
feat(device): add device affinity group support
luomingmeng Oct 22, 2025
b8e2239
feat: develop device affinity binding and filtering strategies
JustinChengLZ Oct 23, 2025
8fb65b3
feat: implement binding strategy to prioritise device affinity during…
JustinChengLZ Oct 27, 2025
74173a5
refactor(gpu): restructure GPU strategy and state management
luomingmeng Oct 29, 2025
baceede
chore: rebase katalyst-api
JustinChengLZ Oct 29, 2025
6796265
chore: fix unit test, format and lint issues
JustinChengLZ Oct 29, 2025
a5fc440
fix: maintain affinity subgroup sequence in larger affinity groups
JustinChengLZ Nov 3, 2025
b82919e
refactor: simplify code by deleting redundant parameters and refactor…
JustinChengLZ Nov 3, 2025
0cd4251
refactor: make allocation recursive to simplify logic
JustinChengLZ Nov 4, 2025
3caa8c1
fix(gpu): handle NUMA node edge cases and improve logging
luomingmeng Nov 5, 2025
1ade96f
feat(gpu): add canonical strategy implementation and refactor gpu mem…
luomingmeng Nov 5, 2025
2514d85
refactor(gpu/strategy): optimize device affinity allocation algorithm
luomingmeng Nov 5, 2025
bb63762
refactor: simplify the grouping of device affinity
JustinChengLZ Nov 5, 2025
197f959
fix: handling of nil device req
JustinChengLZ Nov 6, 2025
698f27a
chore: add unit tests
JustinChengLZ Nov 10, 2025
622e87e
refactor(gpumemory): move nil device request check after qos validation
luomingmeng Nov 11, 2025
766b8a7
fix(gpu): skip zero requests in GetGPUCount and optimize logging
luomingmeng Nov 11, 2025
a74fc3e
feat(gpumemory): add numa binding check and health status filter
luomingmeng Nov 14, 2025
11efc35
fix(gpumemory): handle unhealthy devices and correct capacity values
luomingmeng Nov 17, 2025
4f8457d
refactor(qrm): remove unused state file directory fields
luomingmeng Nov 17, 2025
880bba4
fix(gpumemory): handle numa topology not ready case gracefully
luomingmeng Nov 20, 2025
9ecafcc
chore: add context to interface methods
JustinChengLZ Nov 24, 2025
3a7254f
feat(gpu): add ShareGPUManager for device sharing eligibility
luomingmeng Nov 24, 2025
649398f
feat(eviction): add reclaimed GPU resources eviction plugin
luomingmeng Nov 24, 2025
09b42dc
build: update katalyst-api dependency version
luomingmeng Nov 24, 2025
b2a1de2
fix(resources-eviction): add error healthz state update in threshold …
luomingmeng Dec 9, 2025
4295c6a
fix(gpu): ignore reclaimed containers in device share evaluation
luomingmeng Jan 12, 2026
1ac77a8
feat(eviction): add gpu memory threshold to reclaimed resources eviction
luomingmeng Jan 12, 2026
1f727f4
fix(gpumemory): correct gpu memory allocation calculation
luomingmeng Jan 13, 2026
b13e4d2
feat(evictionmanager): add GPU-specific threshold tolerance duration
luomingmeng Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions cmd/katalyst-agent/app/agent/qrm/gpu_plugin.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
Copyright 2022 The Katalyst Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package qrm

import (
"fmt"
"strings"
"sync"

"github.com/kubewharf/katalyst-core/cmd/katalyst-agent/app/agent"
phconsts "github.com/kubewharf/katalyst-core/pkg/agent/utilcomponent/periodicalhandler/consts"
"github.com/kubewharf/katalyst-core/pkg/config"
)

const (
QRMPluginNameGPU = "qrm_gpu_plugin"
)

var QRMGPUPluginPeriodicalHandlerGroupName = strings.Join([]string{
QRMPluginNameGPU,
phconsts.PeriodicalHandlersGroupNameSuffix,
}, phconsts.GroupNameSeparator)

// gpuPolicyInitializers is used to store the initializing function for gpu resource plugin policies
var gpuPolicyInitializers sync.Map

// RegisterGPUPolicyInitializer is used to register user-defined resource plugin init functions
func RegisterGPUPolicyInitializer(name string, initFunc agent.InitFunc) {
gpuPolicyInitializers.Store(name, initFunc)
}

// getIOPolicyInitializers returns those policies with initialized functions
func getGPUPolicyInitializers() map[string]agent.InitFunc {
agents := make(map[string]agent.InitFunc)
gpuPolicyInitializers.Range(func(key, value interface{}) bool {
agents[key.(string)] = value.(agent.InitFunc)
return true
})
return agents
}

// InitQRMGPUPlugins initializes the gpu QRM plugins
func InitQRMGPUPlugins(agentCtx *agent.GenericContext, conf *config.Configuration, extraConf interface{}, agentName string) (bool, agent.Component, error) {
initializers := getGPUPolicyInitializers()
policyName := conf.GPUQRMPluginConfig.PolicyName

initFunc, ok := initializers[policyName]
if !ok {
return false, agent.ComponentStub{}, fmt.Errorf("invalid policy name %v for gpu resource plugin", policyName)
}

return initFunc(agentCtx, conf, extraConf, agentName)
}
2 changes: 2 additions & 0 deletions cmd/katalyst-agent/app/enableagents.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/kubewharf/katalyst-core/cmd/katalyst-agent/app/agent"
"github.com/kubewharf/katalyst-core/cmd/katalyst-agent/app/agent/qrm"
_ "github.com/kubewharf/katalyst-core/pkg/agent/qrm-plugins/cpu"
_ "github.com/kubewharf/katalyst-core/pkg/agent/qrm-plugins/gpu"
_ "github.com/kubewharf/katalyst-core/pkg/agent/qrm-plugins/io"
_ "github.com/kubewharf/katalyst-core/pkg/agent/qrm-plugins/memory"
_ "github.com/kubewharf/katalyst-core/pkg/agent/qrm-plugins/network"
Expand Down Expand Up @@ -57,6 +58,7 @@ func init() {
agentInitializers.Store(qrm.QRMPluginNameMemory, AgentStarter{Init: qrm.InitQRMMemoryPlugins})
agentInitializers.Store(qrm.QRMPluginNameNetwork, AgentStarter{Init: qrm.InitQRMNetworkPlugins})
agentInitializers.Store(qrm.QRMPluginNameIO, AgentStarter{Init: qrm.InitQRMIOPlugins})
agentInitializers.Store(qrm.QRMPluginNameGPU, AgentStarter{Init: qrm.InitQRMGPUPlugins})
}

// RegisterAgentInitializer is used to register user-defined agents
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ func NewReclaimedResourcesEvictionOptions() *ReclaimedResourcesEvictionOptions {
EvictionThreshold: native.ResourceThreshold{
consts.ReclaimedResourceMilliCPU: 5.0,
consts.ReclaimedResourceMemory: 5.0,
consts.ResourceGPUMemory: 5.0,
},
GracePeriod: 60,
ThresholdMetToleranceDuration: 0,
Expand Down
75 changes: 75 additions & 0 deletions cmd/katalyst-agent/app/options/qrm/gpu_plugin.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*
Copyright 2022 The Katalyst Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package qrm

import (
"k8s.io/apimachinery/pkg/api/resource"
cliflag "k8s.io/component-base/cli/flag"

"github.com/kubewharf/katalyst-core/cmd/katalyst-agent/app/options/qrm/gpustrategy"
qrmconfig "github.com/kubewharf/katalyst-core/pkg/config/agent/qrm"
)

type GPUOptions struct {
PolicyName string
GPUDeviceNames []string
GPUMemoryAllocatablePerGPU string
SkipGPUStateCorruption bool
RDMADeviceNames []string

GPUStrategyOptions *gpustrategy.GPUStrategyOptions
}

func NewGPUOptions() *GPUOptions {
return &GPUOptions{
PolicyName: "static",
GPUDeviceNames: []string{"nvidia.com/gpu"},
GPUMemoryAllocatablePerGPU: "100",
RDMADeviceNames: []string{},
GPUStrategyOptions: gpustrategy.NewGPUStrategyOptions(),
}
}

func (o *GPUOptions) AddFlags(fss *cliflag.NamedFlagSets) {
fs := fss.FlagSet("gpu_resource_plugin")

fs.StringVar(&o.PolicyName, "gpu-resource-plugin-policy",
o.PolicyName, "The policy gpu resource plugin should use")
fs.StringSliceVar(&o.GPUDeviceNames, "gpu-resource-names", o.GPUDeviceNames, "The name of the GPU resource")
fs.StringVar(&o.GPUMemoryAllocatablePerGPU, "gpu-memory-allocatable-per-gpu",
o.GPUMemoryAllocatablePerGPU, "The total memory allocatable for each GPU, e.g. 100")
fs.BoolVar(&o.SkipGPUStateCorruption, "skip-gpu-state-corruption",
o.SkipGPUStateCorruption, "skip gpu state corruption, and it will be used after updating state properties")
fs.StringSliceVar(&o.RDMADeviceNames, "rdma-resource-names", o.RDMADeviceNames, "The name of the RDMA resource")
o.GPUStrategyOptions.AddFlags(fss)
}

func (o *GPUOptions) ApplyTo(conf *qrmconfig.GPUQRMPluginConfig) error {
conf.PolicyName = o.PolicyName
conf.GPUDeviceNames = o.GPUDeviceNames
gpuMemory, err := resource.ParseQuantity(o.GPUMemoryAllocatablePerGPU)
if err != nil {
return err
}
conf.GPUMemoryAllocatablePerGPU = gpuMemory
conf.SkipGPUStateCorruption = o.SkipGPUStateCorruption
conf.RDMADeviceNames = o.RDMADeviceNames
if err := o.GPUStrategyOptions.ApplyTo(conf.GPUStrategyConfig); err != nil {
return err
}
return nil
}
59 changes: 59 additions & 0 deletions cmd/katalyst-agent/app/options/qrm/gpustrategy/allocate.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
Copyright 2022 The Katalyst Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package gpustrategy

import (
"strings"

cliflag "k8s.io/component-base/cli/flag"

"github.com/kubewharf/katalyst-core/pkg/config/agent/qrm/gpustrategy"
)

type AllocateStrategyOptions struct {
CustomFilteringStrategies map[string]string
CustomSortingStrategy map[string]string
CustomBindingStrategy map[string]string
CustomAllocationStrategy map[string]string
}

func NewGPUAllocateStrategyOptions() *AllocateStrategyOptions {
return &AllocateStrategyOptions{}
}

func (o *AllocateStrategyOptions) AddFlags(fss *cliflag.NamedFlagSets) {
fs := fss.FlagSet("allocate_strategy")
fs.StringToStringVar(&o.CustomFilteringStrategies, "gpu-allocate-custom-filtering-strategies",
o.CustomFilteringStrategies, "The filtering strategies for each resource, e.g. gpu:filtering1/filtering2")
fs.StringToStringVar(&o.CustomSortingStrategy, "gpu-allocate-custom-sorting-strategy", o.CustomSortingStrategy, "The sorting strategy for each resource")
fs.StringToStringVar(&o.CustomBindingStrategy, "gpu-allocate-custom-binding-strategy", o.CustomBindingStrategy, "The binding strategy for each resource")
fs.StringToStringVar(&o.CustomAllocationStrategy, "gpu-allocate-custom-allocation-strategy", o.CustomAllocationStrategy, "The allocation strategy for each resource")
}

func (o *AllocateStrategyOptions) ApplyTo(c *gpustrategy.AllocateStrategyConfig) error {
for resourceName, strategies := range o.CustomFilteringStrategies {
filteringStrategies := strings.Split(strategies, "/")
for _, strategyName := range filteringStrategies {
c.CustomFilteringStrategies[resourceName] = append(c.CustomFilteringStrategies[resourceName], strategyName)
}
}

c.CustomSortingStrategy = o.CustomSortingStrategy
c.CustomBindingStrategy = o.CustomBindingStrategy
c.CustomAllocationStrategy = o.CustomAllocationStrategy
return nil
}
44 changes: 44 additions & 0 deletions cmd/katalyst-agent/app/options/qrm/gpustrategy/strategy_base.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
Copyright 2022 The Katalyst Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package gpustrategy

import (
cliflag "k8s.io/component-base/cli/flag"

"github.com/kubewharf/katalyst-core/pkg/config/agent/qrm/gpustrategy"
)

type GPUStrategyOptions struct {
*AllocateStrategyOptions
}

func NewGPUStrategyOptions() *GPUStrategyOptions {
return &GPUStrategyOptions{
AllocateStrategyOptions: NewGPUAllocateStrategyOptions(),
}
}

func (o *GPUStrategyOptions) AddFlags(fss *cliflag.NamedFlagSets) {
o.AllocateStrategyOptions.AddFlags(fss)
}

func (o *GPUStrategyOptions) ApplyTo(conf *gpustrategy.GPUStrategyConfig) error {
if err := o.AllocateStrategyOptions.ApplyTo(conf.AllocateStrategyConfig); err != nil {
return err
}
return nil
}
6 changes: 6 additions & 0 deletions cmd/katalyst-agent/app/options/qrm/qrm_base.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ type QRMPluginsOptions struct {
MemoryOptions *MemoryOptions
NetworkOptions *NetworkOptions
IOOptions *IOOptions
GPUOptions *GPUOptions
}

func NewQRMPluginsOptions() *QRMPluginsOptions {
Expand All @@ -96,6 +97,7 @@ func NewQRMPluginsOptions() *QRMPluginsOptions {
MemoryOptions: NewMemoryOptions(),
NetworkOptions: NewNetworkOptions(),
IOOptions: NewIOOptions(),
GPUOptions: NewGPUOptions(),
}
}

Expand All @@ -104,6 +106,7 @@ func (o *QRMPluginsOptions) AddFlags(fss *cliflag.NamedFlagSets) {
o.MemoryOptions.AddFlags(fss)
o.NetworkOptions.AddFlags(fss)
o.IOOptions.AddFlags(fss)
o.GPUOptions.AddFlags(fss)
}

func (o *QRMPluginsOptions) ApplyTo(conf *qrmconfig.QRMPluginsConfiguration) error {
Expand All @@ -119,5 +122,8 @@ func (o *QRMPluginsOptions) ApplyTo(conf *qrmconfig.QRMPluginsConfiguration) err
if err := o.IOOptions.ApplyTo(conf.IOQRMPluginConfig); err != nil {
return err
}
if err := o.GPUOptions.ApplyTo(conf.GPUQRMPluginConfig); err != nil {
return err
}
return nil
}
5 changes: 3 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ require (
github.com/golang/mock v1.6.0
github.com/golang/protobuf v1.5.3
github.com/google/cadvisor v0.44.2
github.com/google/go-cmp v0.5.9
github.com/google/uuid v1.3.0
github.com/h2non/gock v1.2.0
github.com/klauspost/cpuid/v2 v2.2.6
Expand Down Expand Up @@ -100,7 +101,6 @@ require (
github.com/godbus/dbus/v5 v5.0.6 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/gnostic v0.6.9 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 // indirect
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
Expand Down Expand Up @@ -175,6 +175,7 @@ require (
)

replace (
github.com/kubewharf/katalyst-api => github.com/luomingmeng/katalyst-api v0.0.0-20251225062836-a81d80885d97
k8s.io/api => k8s.io/api v0.24.6
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.24.6
k8s.io/apimachinery => k8s.io/apimachinery v0.24.6
Expand All @@ -196,7 +197,7 @@ replace (
k8s.io/kube-proxy => k8s.io/kube-proxy v0.24.6
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.24.6
k8s.io/kubectl => k8s.io/kubectl v0.24.6
k8s.io/kubelet => github.com/kubewharf/kubelet v1.24.6-kubewharf.9
k8s.io/kubelet => github.com/yehlemias/kubelet v0.0.0-20250929105636-c5bb000496f2
k8s.io/kubernetes => k8s.io/kubernetes v1.24.6
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.24.6
k8s.io/metrics => k8s.io/metrics v0.24.6
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -574,10 +574,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kubewharf/katalyst-api v0.5.8-0.20251212030746-894fa2521a86 h1:GCqe9PcoTQ7akNDyAmavhnSrPV7sMAoYJ5jKEaJg4Ac=
github.com/kubewharf/katalyst-api v0.5.8-0.20251212030746-894fa2521a86/go.mod h1:Y2IeIorxQamF2a3oa0+URztl5QCSty6Jj3zD83R8J9k=
github.com/kubewharf/kubelet v1.24.6-kubewharf.9 h1:jOTYZt7h/J7I8xQMKMUcJjKf5UFBv37jHWvNp5VRFGc=
github.com/kubewharf/kubelet v1.24.6-kubewharf.9/go.mod h1:MxbSZUx3wXztFneeelwWWlX7NAAStJ6expqq7gY2J3c=
github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
Expand All @@ -587,6 +583,8 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA=
github.com/luomingmeng/katalyst-api v0.0.0-20251225062836-a81d80885d97 h1:1vDUtGKw5ZI9yAKcbWQw+1y3BvQi3Sp4nGhCCi00vZs=
github.com/luomingmeng/katalyst-api v0.0.0-20251225062836-a81d80885d97/go.mod h1:BZMVGVl3EP0eCn5xsDgV41/gjYkoh43abIYxrB10e3k=
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
Expand Down Expand Up @@ -937,6 +935,8 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yehlemias/kubelet v0.0.0-20250929105636-c5bb000496f2 h1:km3N0XyOxD5yh/xdKwLdXnMx01wFRKeDz4/CT8ui8a0=
github.com/yehlemias/kubelet v0.0.0-20250929105636-c5bb000496f2/go.mod h1:MxbSZUx3wXztFneeelwWWlX7NAAStJ6expqq7gY2J3c=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
Expand Down
1 change: 1 addition & 0 deletions pkg/agent/evictionmanager/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ func NewInnerEvictionPluginInitializers() map[string]plugin.InitFunc {
innerEvictionPluginInitializers := make(map[string]plugin.InitFunc)
innerEvictionPluginInitializers[resource.ReclaimedResourcesEvictionPluginName] = resource.NewReclaimedResourcesEvictionPlugin
innerEvictionPluginInitializers[resource.ReclaimedNumaResourcesEvictionPluginName] = resource.NewReclaimedNumaResourcesEvictionPlugin
innerEvictionPluginInitializers[resource.ReclaimedGPUResourcesEvictionPluginName] = resource.NewReclaimedGPUResourcesEvictionPlugin
innerEvictionPluginInitializers[memory.EvictionPluginNameNumaMemoryPressure] = memory.NewNumaMemoryPressureEvictionPlugin
innerEvictionPluginInitializers[memory.EvictionPluginNameSystemMemoryPressure] = memory.NewSystemPressureEvictionPlugin
innerEvictionPluginInitializers[memory.EvictionPluginNameRssOveruse] = memory.NewRssOveruseEvictionPlugin
Expand Down
Loading