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
|
package sysinfo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"math/bits"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
"golang.org/x/sys/windows"
|
"golang.org/x/sys/windows"
|
||||||
|
|
@ -22,7 +23,5 @@ func numCPU() int {
|
||||||
if ret == 0 {
|
if ret == 0 {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
// For every available thread a bit is set in the mask.
|
return bits.OnesCount64(uint64(mask))
|
||||||
ncpu := int(popcnt(uint64(mask)))
|
|
||||||
return ncpu
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
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
|
// GetDefaultPidsLimit returns the default pids limit to run containers with
|
||||||
func GetDefaultPidsLimit() int64 {
|
func GetDefaultPidsLimit() int64 {
|
||||||
sysInfo := New(true)
|
sysInfo := New(true)
|
||||||
|
|
|
||||||
|
|
@ -97,13 +97,3 @@ func TestNumCPU(t *testing.T) {
|
||||||
t.Fatal("CPU returned must be greater than zero")
|
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