update_linux.go 927 B

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