[Bug 232153] Processes without explicit cpuset only use half the SMP threads (on a Ryzen)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Oct 10 16:22:48 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232153
Bug ID: 232153
Summary: Processes without explicit cpuset only use half the
SMP threads (on a Ryzen)
Product: Base System
Version: CURRENT
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: greg at unrelenting.technology
(AMD Ryzen 7 1700: 1 package(s) x 2 cache groups x 4 core(s) x 2 hardware
threads)
Somewhere in the 12-ALPHA cycle, the following started happening:
All processes are only being scheduled on half the hardware threads — either
CPUs 0-7 or 8-15 (rebooting can change which half it is).
Launching a benchmark or build process with 16 threads only uses 8 CPUs; it's
clearly visible in sysutils/htop that half the CPUs always sit at 0.0% with
occasional 0.5%-1% tasks while the other half is constantly getting at least
1-3% utilization for the random background activity on the system, etc. etc.
But launching a process explicitly with 'cpuset -l0-15 some_command' DOES use
all 16 CPUs just fine!!
It's just the default cpuset that's avoiding half of the CPU. But cpuset(1)
does not report anything unusual, the default cpusets include all 16 CPUs:
~ % cpuset -s 0 -g
cpuset 0 mask: 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
cpuset 0 domain policy: first-touch mask: 0
~ % cpuset -s 1 -g
cpuset 1 mask: 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
cpuset 1 domain policy: first-touch mask: 0
~ % cpuset -s 2 -g
cpuset 2 mask: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
cpuset 2 domain policy: interleave mask: 0
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list