mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 11:13:48 +00:00
Merge pull request #116922 from sourcelliu/checkpoint
Improve the performance of map usage
This commit is contained in:
commit
0086712926
@ -25,9 +25,9 @@ type ContainerCPUAssignments map[string]map[string]cpuset.CPUSet
|
|||||||
|
|
||||||
// Clone returns a copy of ContainerCPUAssignments
|
// Clone returns a copy of ContainerCPUAssignments
|
||||||
func (as ContainerCPUAssignments) Clone() ContainerCPUAssignments {
|
func (as ContainerCPUAssignments) Clone() ContainerCPUAssignments {
|
||||||
ret := make(ContainerCPUAssignments)
|
ret := make(ContainerCPUAssignments, len(as))
|
||||||
for pod := range 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] {
|
for container, cset := range as[pod] {
|
||||||
ret[pod][container] = cset
|
ret[pod][container] = cset
|
||||||
}
|
}
|
||||||
|
@ -121,7 +121,7 @@ func (sc *stateCheckpoint) restoreState() error {
|
|||||||
var tmpContainerCPUSet cpuset.CPUSet
|
var tmpContainerCPUSet cpuset.CPUSet
|
||||||
tmpAssignments := ContainerCPUAssignments{}
|
tmpAssignments := ContainerCPUAssignments{}
|
||||||
for pod := range checkpointV2.Entries {
|
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] {
|
for container, cpuString := range checkpointV2.Entries[pod] {
|
||||||
if tmpContainerCPUSet, err = cpuset.Parse(cpuString); err != nil {
|
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)
|
return fmt.Errorf("could not parse cpuset %q for container %q in pod %q: %v", cpuString, container, pod, err)
|
||||||
@ -147,7 +147,7 @@ func (sc *stateCheckpoint) storeState() error {
|
|||||||
|
|
||||||
assignments := sc.cache.GetCPUAssignments()
|
assignments := sc.cache.GetCPUAssignments()
|
||||||
for pod := range assignments {
|
for pod := range assignments {
|
||||||
checkpoint.Entries[pod] = make(map[string]string)
|
checkpoint.Entries[pod] = make(map[string]string, len(assignments[pod]))
|
||||||
for container, cset := range assignments[pod] {
|
for container, cset := range assignments[pod] {
|
||||||
checkpoint.Entries[pod][container] = cset.String()
|
checkpoint.Entries[pod][container] = cset.String()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user