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  }