code: func milliCPUToShares(milliCPU int64, hyperv bool) int64 {
  	var minShares int64 = minSharesProcess
  	if hyperv {
  		minShares = minSharesHyperV
  	}
  
  	if milliCPU == 0 {
  		// Return here to really match kernel default for zero milliCPU.
  		return minShares
  	}
  
  	// Conceptually (milliCPU / milliCPUToCPU) * sharesPerCPU, but factored to improve rounding.
  	totalCPU := sysinfo.NumCPU()
  	shares := (milliCPU * (maxShares - minShares)) / int64(totalCPU) / milliCPUToCPU
  	if shares < minShares {
  		return minShares
  	}
  	if shares > maxShares {
  		return maxShares
  	}
  	return shares
  }
docs: // milliCPUToShares converts milliCPU to CPU shares