github.com/jiasir/docker@v1.3.3-0.20170609024000-252e610103e7/daemon/update_linux.go (about) 1 // +build linux 2 3 package daemon 4 5 import ( 6 "time" 7 8 "github.com/docker/docker/api/types/container" 9 "github.com/docker/docker/libcontainerd" 10 ) 11 12 func toContainerdResources(resources container.Resources) libcontainerd.Resources { 13 var r libcontainerd.Resources 14 r.BlkioWeight = uint64(resources.BlkioWeight) 15 r.CpuShares = uint64(resources.CPUShares) 16 if resources.NanoCPUs != 0 { 17 r.CpuPeriod = uint64(100 * time.Millisecond / time.Microsecond) 18 r.CpuQuota = uint64(resources.NanoCPUs) * r.CpuPeriod / 1e9 19 } else { 20 r.CpuPeriod = uint64(resources.CPUPeriod) 21 r.CpuQuota = uint64(resources.CPUQuota) 22 } 23 r.CpusetCpus = resources.CpusetCpus 24 r.CpusetMems = resources.CpusetMems 25 r.MemoryLimit = uint64(resources.Memory) 26 if resources.MemorySwap > 0 { 27 r.MemorySwap = uint64(resources.MemorySwap) 28 } 29 r.MemoryReservation = uint64(resources.MemoryReservation) 30 r.KernelMemoryLimit = uint64(resources.KernelMemory) 31 return r 32 }