mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Merge pull request #95602 from chenyw1990/master
write checkpoint only when allocated devices updated.
This commit is contained in:
commit
a4209939f8
@ -833,6 +833,7 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
||||
podUID := string(pod.UID)
|
||||
contName := container.Name
|
||||
allocatedDevicesUpdated := false
|
||||
needsUpdateCheckpoint := false
|
||||
// Extended resources are not allowed to be overcommitted.
|
||||
// Since device plugin advertises extended resources,
|
||||
// therefore Requests must be equal to Limits and iterating
|
||||
@ -858,6 +859,8 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
||||
continue
|
||||
}
|
||||
|
||||
needsUpdateCheckpoint = true
|
||||
|
||||
startRPCTime := time.Now()
|
||||
// Manager.Allocate involves RPC calls to device plugin, which
|
||||
// could be heavy-weight. Therefore we want to perform this operation outside
|
||||
@ -906,8 +909,11 @@ func (m *ManagerImpl) allocateContainerResources(pod *v1.Pod, container *v1.Cont
|
||||
m.mutex.Unlock()
|
||||
}
|
||||
|
||||
// Checkpoints device to container allocation information.
|
||||
return m.writeCheckpoint()
|
||||
if needsUpdateCheckpoint {
|
||||
return m.writeCheckpoint()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetDeviceRunContainerOptions checks whether we have cached containerDevices
|
||||
|
Loading…
Reference in New Issue
Block a user