Skip to content

Commit 9158323

Browse files
authored
Merge pull request #733 from luomingmeng/dev/fix-reclaimed-cores-memory-migrate
chore(qrm): support migrate pages in handleAdvisorCPUSetMems
2 parents 5e4c267 + 4742e30 commit 9158323

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

pkg/agent/qrm-plugins/memory/dynamicpolicy/policy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func NewDynamicPolicy(agentCtx *agent.GenericContext, conf *config.Configuration
248248
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyMemoryLimitInBytes,
249249
memoryadvisor.ControlKnobHandlerWithChecker(policyImplement.handleAdvisorMemoryLimitInBytes))
250250
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyCPUSetMems,
251-
memoryadvisor.ControlKnobHandlerWithChecker(handleAdvisorCPUSetMems))
251+
memoryadvisor.ControlKnobHandlerWithChecker(policyImplement.handleAdvisorCPUSetMems))
252252
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyDropCache,
253253
memoryadvisor.ControlKnobHandlerWithChecker(policyImplement.handleAdvisorDropCache))
254254
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobReclaimedMemorySize,

pkg/agent/qrm-plugins/memory/dynamicpolicy/policy_advisor_handler.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ func (p *DynamicPolicy) pushMemoryAdvisor() error {
383383
return nil
384384
}
385385

386-
func handleAdvisorCPUSetMems(
386+
func (p *DynamicPolicy) handleAdvisorCPUSetMems(
387387
_ *config.Configuration,
388388
_ interface{},
389389
_ *dynamicconfig.DynamicAgentConfiguration,
@@ -411,8 +411,12 @@ func handleAdvisorCPUSetMems(
411411
apiconsts.PodAnnotationQoSLevelReclaimedCores)
412412
}
413413

414-
allocationInfo.NumaAllocationResult = cpusetMems
415-
allocationInfo.TopologyAwareAllocations = nil
414+
numaSetChangedContainers := make(map[string]map[string]*state.AllocationInfo)
415+
p.updateNUMASetChangedContainers(numaSetChangedContainers, allocationInfo, cpusetMems)
416+
err = p.migratePagesForNUMASetChangedContainers(numaSetChangedContainers)
417+
if err != nil {
418+
return fmt.Errorf("migratePagesForNUMASetChangedContainers failed with error: %v", err)
419+
}
416420

417421
_ = emitter.StoreInt64(util.MetricNameMemoryHandleAdvisorCPUSetMems, 1,
418422
metrics.MetricTypeNameRaw, metrics.ConvertMapToTags(map[string]string{

pkg/agent/qrm-plugins/memory/dynamicpolicy/policy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2458,7 +2458,7 @@ func TestHandleAdvisorResp(t *testing.T) {
24582458
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyMemoryLimitInBytes,
24592459
memoryadvisor.ControlKnobHandlerWithChecker(dynamicPolicy.handleAdvisorMemoryLimitInBytes))
24602460
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyCPUSetMems,
2461-
memoryadvisor.ControlKnobHandlerWithChecker(handleAdvisorCPUSetMems))
2461+
memoryadvisor.ControlKnobHandlerWithChecker(dynamicPolicy.handleAdvisorCPUSetMems))
24622462
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnobKeyDropCache,
24632463
memoryadvisor.ControlKnobHandlerWithChecker(dynamicPolicy.handleAdvisorDropCache))
24642464
memoryadvisor.RegisterControlKnobHandler(memoryadvisor.ControlKnowKeyMemoryOffloading,

0 commit comments

Comments
 (0)