Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Oct 2018 16:22:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 232153] Processes without explicit cpuset only use half the SMP threads (on a Ryzen)
Message-ID:  <bug-232153-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D232153

            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@FreeBSD.org
          Reporter: greg@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 =E2=80=
=94 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 u=
se
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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
                                                           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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
                                                           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=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
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

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-232153-227>