diff --git a/pkg/kubelet/cm/cpumanager/state/state.go b/pkg/kubelet/cm/cpumanager/state/state.go index a9bd906fcb2..2caf1845860 100644 --- a/pkg/kubelet/cm/cpumanager/state/state.go +++ b/pkg/kubelet/cm/cpumanager/state/state.go @@ -25,9 +25,9 @@ type ContainerCPUAssignments map[string]map[string]cpuset.CPUSet // Clone returns a copy of ContainerCPUAssignments func (as ContainerCPUAssignments) Clone() ContainerCPUAssignments { - ret := make(ContainerCPUAssignments) + ret := make(ContainerCPUAssignments, len(as)) for pod := range as { - ret[pod] = make(map[string]cpuset.CPUSet) + ret[pod] = make(map[string]cpuset.CPUSet, len(as[pod])) for container, cset := range as[pod] { ret[pod][container] = cset } diff --git a/pkg/kubelet/cm/cpumanager/state/state_checkpoint.go b/pkg/kubelet/cm/cpumanager/state/state_checkpoint.go index fb93224f14a..8918bc1d967 100644 --- a/pkg/kubelet/cm/cpumanager/state/state_checkpoint.go +++ b/pkg/kubelet/cm/cpumanager/state/state_checkpoint.go @@ -121,7 +121,7 @@ func (sc *stateCheckpoint) restoreState() error { var tmpContainerCPUSet cpuset.CPUSet tmpAssignments := ContainerCPUAssignments{} for pod := range checkpointV2.Entries { - tmpAssignments[pod] = make(map[string]cpuset.CPUSet) + tmpAssignments[pod] = make(map[string]cpuset.CPUSet, len(checkpointV2.Entries[pod])) for container, cpuString := range checkpointV2.Entries[pod] { if tmpContainerCPUSet, err = cpuset.Parse(cpuString); err != nil { return fmt.Errorf("could not parse cpuset %q for container %q in pod %q: %v", cpuString, container, pod, err)