[Bug 219399] System panics after several hours of 14-threads-compilation orgies using poudriere on AMD Ryzen...
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jul 20 01:04:20 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219399
--- Comment #71 from Don Lewis <truckman at 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 = getpid();
@@ -365,7 +366,7 @@
cpu = 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 10000000,
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
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list