github.com/opencontainers/runc@v1.2.0-rc.1.0.20240520010911-492dc558cdd6/libcontainer/cgroups/fs2/cpuset.go (about)

     1  package fs2
     2  
     3  import (
     4  	"github.com/opencontainers/runc/libcontainer/cgroups"
     5  	"github.com/opencontainers/runc/libcontainer/configs"
     6  )
     7  
     8  func isCpusetSet(r *configs.Resources) bool {
     9  	return r.CpusetCpus != "" || r.CpusetMems != ""
    10  }
    11  
    12  func setCpuset(dirPath string, r *configs.Resources) error {
    13  	if !isCpusetSet(r) {
    14  		return nil
    15  	}
    16  
    17  	if r.CpusetCpus != "" {
    18  		if err := cgroups.WriteFile(dirPath, "cpuset.cpus", r.CpusetCpus); err != nil {
    19  			return err
    20  		}
    21  	}
    22  	if r.CpusetMems != "" {
    23  		if err := cgroups.WriteFile(dirPath, "cpuset.mems", r.CpusetMems); err != nil {
    24  			return err
    25  		}
    26  	}
    27  	return nil
    28  }