Merge pull request #2416 from kolyshkin/numa-count

pkg/sysinfo: rm unused code
This commit is contained in:
openshift-merge-bot[bot] 2025-04-14 09:49:38 +00:00 committed by GitHub
commit f188150c90
5 changed files with 2 additions and 64 deletions

View File

@ -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))
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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)

View File

@ -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.")
}
}