Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jul 2017 01:04:20 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 219399] System panics after several hours of 14-threads-compilation orgies using poudriere on AMD Ryzen...
Message-ID:  <bug-219399-8-87y8vXCKwe@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-219399-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-219399-8@https.bugs.freebsd.org/bugzilla/>

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

--- Comment #71 from Don Lewis <truckman@FreeBSD.org> ---
(In reply to Nils Beyer from comment #67)

The Linux version of the test pins the entire process to a single
randomly-chosen CPU.  The following diff should make it work the same on
FreeBSD:

--- ryzen_segv_test.c.orig      2017-07-19 17:26:47.686991000 -0700
+++ ryzen_segv_test.c   2017-07-19 17:35:56.406073000 -0700
@@ -69,6 +69,7 @@
 #include <sys/mman.h>
 #include <sched.h>
 #include <sys/types.h>
+#include <sys/cpuset.h>
 #include <unistd.h>

 #endif
@@ -332,7 +333,7 @@
        pthread_t t1, t2, t3;
 #ifdef _MSC_VER
 #else
-       cpu_set_t cpuset;
+       cpuset_t cpuset;
        int cpu;
 #endif
        pid_t pid =3D getpid();
@@ -365,7 +366,7 @@
        cpu =3D random() % n_cpus;
        CPU_ZERO(&cpuset);
        CPU_SET(cpu, &cpuset);
-       sched_setaffinity(pid, sizeof(cpu_set_t), &cpuset);
+       cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, pid,
sizeof(cpuset_t), &cpuset);
        fprintf(stderr, "PID:%d CPU:%d\n", (int)pid, cpu);
 #endif


With that change, I don't see any problems on my machine.  That seems to be=
 an
unfairly easy test, though.

If I nuke the same code that you did, I still don't see any failures, though
the runtime of each iteration seems to vary a lot.  With loops set to 10000=
000,
the process may run anywhere from a few seconds to close to a minute:

12.804u 0.007s 0:04.27 299.7%   10+167k 2+0io 0pf+0w
23.431u 0.000s 0:07.81 300.0%   10+167k 2+0io 0pf+0w
9.789u 0.000s 0:03.26 300.0%    10+167k 2+0io 0pf+0w
9.656u 0.007s 0:03.22 299.6%    10+167k 2+0io 0pf+0w
9.596u 0.000s 0:03.20 299.6%    10+167k 2+0io 0pf+0w
12.041u 0.000s 0:04.01 300.2%   10+167k 2+0io 0pf+0w
22.294u 0.007s 0:07.43 300.0%   10+167k 2+0io 0pf+0w
13.290u 0.000s 0:04.43 300.0%   10+167k 2+0io 0pf+0w
10.939u 0.007s 0:03.65 299.4%   10+167k 2+0io 0pf+0w
12.953u 0.000s 0:04.31 300.4%   10+167k 2+0io 0pf+0w
11.994u 0.000s 0:04.00 299.7%   10+167k 2+0io 0pf+0w
13.084u 0.000s 0:04.36 300.0%   10+167k 2+0io 0pf+0w
125.599u 0.007s 0:41.87 299.9%  10+167k 2+0io 0pf+0w

--=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-219399-8-87y8vXCKwe>