Merge pull request #2416 from kolyshkin/numa-count
pkg/sysinfo: rm unused code
This commit is contained in:
commit
f188150c90
|
|
@ -3,6 +3,7 @@
|
|||
package sysinfo
|
||||
|
||||
import (
|
||||
"math/bits"
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/sys/windows"
|
||||
|
|
@ -22,7 +23,5 @@ func numCPU() int {
|
|||
if ret == 0 {
|
||||
return 0
|
||||
}
|
||||
// For every available thread a bit is set in the mask.
|
||||
ncpu := int(popcnt(uint64(mask)))
|
||||
return ncpu
|
||||
return bits.OnesCount64(uint64(mask))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
//go:build linux
|
||||
|
||||
package sysinfo
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
// NUMANodeCount queries the system for the count of Memory Nodes available
|
||||
// for use to this process.
|
||||
func NUMANodeCount() int {
|
||||
// this is the correct flag name (not defined in the unix package)
|
||||
//nolint:revive
|
||||
MPOL_F_MEMS_ALLOWED := (1 << 2)
|
||||
var mask [1024 / 64]uintptr
|
||||
_, _, err := unix.RawSyscall6(unix.SYS_GET_MEMPOLICY, 0, uintptr(unsafe.Pointer(&mask[0])), uintptr(len(mask)*8), 0, uintptr(MPOL_F_MEMS_ALLOWED), 0)
|
||||
if err != 0 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// For every available thread a bit is set in the mask.
|
||||
nmem := 0
|
||||
for _, e := range mask {
|
||||
if e == 0 {
|
||||
continue
|
||||
}
|
||||
nmem += int(popcnt(uint64(e)))
|
||||
}
|
||||
return nmem
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
//go:build (windows && ignore) || osx
|
||||
|
||||
package sysinfo
|
||||
|
||||
// NUMANodeCount queries the system for the count of Memory Nodes available
|
||||
// for use to this process. Returns 0 on non NUMAs systems.
|
||||
func NUMANodeCount() int {
|
||||
return 0
|
||||
}
|
||||
|
|
@ -133,16 +133,6 @@ func isCpusetListAvailable(provided, available string) (bool, error) {
|
|||
return true, nil
|
||||
}
|
||||
|
||||
// Returns bit count of 1, used by NumCPU
|
||||
func popcnt(x uint64) (n byte) {
|
||||
x -= (x >> 1) & 0x5555555555555555
|
||||
x = (x>>2)&0x3333333333333333 + x&0x3333333333333333
|
||||
x += x >> 4
|
||||
x &= 0x0f0f0f0f0f0f0f0f
|
||||
x *= 0x0101010101010101
|
||||
return byte(x >> 56)
|
||||
}
|
||||
|
||||
// GetDefaultPidsLimit returns the default pids limit to run containers with
|
||||
func GetDefaultPidsLimit() int64 {
|
||||
sysInfo := New(true)
|
||||
|
|
|
|||
|
|
@ -97,13 +97,3 @@ func TestNumCPU(t *testing.T) {
|
|||
t.Fatal("CPU returned must be greater than zero")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNumMems(t *testing.T) {
|
||||
if _, err := os.Stat("/proc/self/numa_maps"); !errors.Is(err, os.ErrNotExist) {
|
||||
t.Skip("NUMA must be supported")
|
||||
}
|
||||
cpuMems := NUMANodeCount()
|
||||
if cpuMems < 0 {
|
||||
t.Fatal("Invalid number of memory nodes, must be 0 or greater.")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue