Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/stressapptest/files/, dev-util/stressapptest/
Date: Tue, 31 Jan 2017 23:18:44
Message-Id: 1485904692.69f40e8e4bb1c2eecf3941d825a5bff76a551803.vapier@gentoo
1 commit: 69f40e8e4bb1c2eecf3941d825a5bff76a551803
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 31 23:16:31 2017 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 31 23:18:12 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69f40e8e
7
8 dev-util/stressapptest: drop old <1.0.7 versions
9
10 dev-util/stressapptest/Manifest | 2 -
11 .../files/stressapptest-1.0.4-cpuid-pic.patch | 43 ----
12 .../files/stressapptest-1.0.6-autotools.patch | 145 -------------
13 .../files/stressapptest-1.0.6-channel-hash.patch | 226 ---------------------
14 .../files/stressapptest-1.0.6-misc-fixes.patch | 75 -------
15 .../files/stressapptest-1.0.6-pthread-test.patch | 136 -------------
16 dev-util/stressapptest/stressapptest-1.0.4.ebuild | 35 ----
17 .../stressapptest/stressapptest-1.0.6-r1.ebuild | 33 ---
18 .../stressapptest/stressapptest-1.0.6-r2.ebuild | 34 ----
19 dev-util/stressapptest/stressapptest-1.0.6.ebuild | 32 ---
20 10 files changed, 761 deletions(-)
21
22 diff --git a/dev-util/stressapptest/Manifest b/dev-util/stressapptest/Manifest
23 index be0b0ff..723d621 100644
24 --- a/dev-util/stressapptest/Manifest
25 +++ b/dev-util/stressapptest/Manifest
26 @@ -1,3 +1 @@
27 -DIST stressapptest-1.0.4_autoconf.tar.gz 200370 SHA256 c8c83419e800504682506e10800763759f3f339b2158bae1329bb145ff981b65 SHA512 bcc81057361c9ae09562106398f1a3d6b5a0a41e4bf4e7b61ca8f05144a4295e642136dd5441ad1950b5c2785476593ad30d03052e4fe9e9f4071aabd33b123f WHIRLPOOL fe8befb6f76c33c4b2d525064c47e3b9c69a1352b6a0eb502c06ca3b12143aa7a3127e9b944ab1c871937345978ddc6598f1dbe2f3fb7cd3dc6dd65b4563b537
28 -DIST stressapptest-1.0.6_autoconf.tar.gz 208918 SHA256 31b04bbd964431668977a89aee44b241cb54a5e84c3abf6132507545b286cdd9 SHA512 92a1258cc67f49de55f3cc1fa4e3fa627ed77aa033790f8af2b5d006799ff1aeef5b8e35dbeb52c777f9b4dad08ab6e4dfe445bc05e977c0f7c4a15c0cf46331 WHIRLPOOL 7e916e74e87ef935894c134ea867a077bc761b1959c3b2063b6b5ee5b2bae473d56a7e19423eb8d6c0be0a4f6dab29bad7c20eb5f2d68cee66210a6da2306921
29 DIST stressapptest-1.0.7_p1.tar.xz 165876 SHA256 39183d4dd79ae37e7ad480a4b9254ff52bcc926e853e954df492b51db3ee3b04 SHA512 ac3c072eae6f13ba6608d2cee1ee33b5d27b078dbbcb9e7ae1e59507d4571e36a06dd0e19e4a1b705c916104e06be39aa93ebe607fe93d5669e8764c68904fc9 WHIRLPOOL 374a8c86dc2742187c001580ec335b72822f0ac44ba2694bdabf6991765126fedca8928862db56c827f24e9e11c5f7f8b6654d0e04a94ba5a4a284f608f28bf1
30
31 diff --git a/dev-util/stressapptest/files/stressapptest-1.0.4-cpuid-pic.patch b/dev-util/stressapptest/files/stressapptest-1.0.4-cpuid-pic.patch
32 deleted file mode 100644
33 index 740349b..00000000
34 --- a/dev-util/stressapptest/files/stressapptest-1.0.4-cpuid-pic.patch
35 +++ /dev/null
36 @@ -1,43 +0,0 @@
37 -http://code.google.com/p/stressapptest/issues/detail?id=26
38 -
39 ---- a/src/os.cc
40 -+++ b/src/os.cc
41 -@@ -149,7 +149,16 @@ void OsLayer::GetFeatures() {
42 - // http://www.sandpile.org/ia32/cpuid.htm
43 - int ax, bx, cx, dx;
44 - __asm__ __volatile__ (
45 -- "cpuid": "=a" (ax), "=b" (bx), "=c" (cx), "=d" (dx) : "a" (1));
46 -+# if defined(STRESSAPPTEST_CPU_I686) && defined(__PIC__)
47 -+ "xchg %%ebx, %%esi;"
48 -+ "cpuid;"
49 -+ "xchg %%esi, %%ebx;"
50 -+ : "=S" (bx),
51 -+# else
52 -+ "cpuid;"
53 -+ : "=b" (bx),
54 -+# endif
55 -+ "=a" (ax), "=c" (cx), "=d" (dx) : "a" (1));
56 - has_clflush_ = (dx >> 19) & 1;
57 - has_sse2_ = (dx >> 26) & 1;
58 -
59 ---- a/src/worker.cc
60 -+++ b/src/worker.cc
61 -@@ -85,7 +85,17 @@ namespace {
62 - inline int apicid(void) {
63 - int cpu;
64 - #if defined(STRESSAPPTEST_CPU_X86_64) || defined(STRESSAPPTEST_CPU_I686)
65 -- __asm __volatile("cpuid" : "=b" (cpu) : "a" (1) : "cx", "dx");
66 -+ __asm__ __volatile__ (
67 -+# if defined(STRESSAPPTEST_CPU_I686) && defined(__PIC__)
68 -+ "xchg %%ebx, %%esi;"
69 -+ "cpuid;"
70 -+ "xchg %%esi, %%ebx;"
71 -+ : "=S" (cpu)
72 -+# else
73 -+ "cpuid;"
74 -+ : "=b" (cpu)
75 -+# endif
76 -+ : "a" (1) : "cx", "dx");
77 - #elif defined(STRESSAPPTEST_CPU_ARMV7A)
78 - #warning "Unsupported CPU type ARMV7A: unable to determine core ID."
79 - cpu = 0;
80
81 diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch
82 deleted file mode 100644
83 index 01f7cb0..00000000
84 --- a/dev-util/stressapptest/files/stressapptest-1.0.6-autotools.patch
85 +++ /dev/null
86 @@ -1,145 +0,0 @@
87 -From fdc52203836f7fd54e1bff84e11d26838a8f21bc Mon Sep 17 00:00:00 2001
88 -From: "nick.j.sanders@×××××.com"
89 - <nick.j.sanders@×××××.com@93e54ea4-8218-11de-8aaf-8d8425684b44>
90 -Date: Tue, 11 Feb 2014 08:53:31 +0000
91 -Subject: [PATCH] Fix autoconf bugs
92 -MIME-Version: 1.0
93 -Content-Type: text/plain; charset=UTF-8
94 -Content-Transfer-Encoding: 8bit
95 -
96 -* Correctly use autoconf host rather than target.
97 -* Use autoconf host_os.
98 -* Warn rather than error on unknown configs.
99 -* Add --disable-default-optimizations to avoid forced flags.
100 -* Fix manfile install
101 -
102 -
103 -git-svn-id: http://stressapptest.googlecode.com/svn/trunk@42 93e54ea4-8218-11de-8aaf-8d8425684b44
104 ----
105 - Makefile.am | 3 +-
106 - Makefile.in | 171 ++++++++-----
107 - aclocal.m4 | 72 ++++--
108 - configure | 781 ++++++++++++++++++++++++++++----------------------------
109 - configure.ac | 63 +++--
110 - src/Makefile.in | 36 ++-
111 - 6 files changed, 602 insertions(+), 524 deletions(-)
112 -
113 -diff --git a/Makefile.am b/Makefile.am
114 -index c476e5f..5b1998f 100644
115 ---- a/Makefile.am
116 -+++ b/Makefile.am
117 -@@ -1,2 +1,3 @@
118 - SUBDIRS = src
119 --dist_doc_DATA = COPYING stressapptest.1
120 -\ No newline at end of file
121 -+dist_man_MANS = stressapptest.1
122 -+
123 -diff --git a/configure.ac b/configure.ac
124 -index 6f09eb9..1fbc460 100644
125 ---- a/configure.ac
126 -+++ b/configure.ac
127 -@@ -12,60 +12,53 @@ else
128 - fi
129 -
130 - AC_CANONICAL_HOST
131 --AC_CANONICAL_BUILD
132 - # Checking for target cpu and setting custom configuration
133 - # for the different platforms
134 --AC_CANONICAL_TARGET
135 --case x"$target_cpu" in
136 -- "xx86_64")
137 -+AS_CASE(["$host_cpu"],
138 -+ [*x86_64*], [
139 - AC_DEFINE([STRESSAPPTEST_CPU_X86_64],[],
140 - [Defined if the target CPU is x86_64])
141 -- ;;
142 -- "xi686")
143 -+ ],
144 -+ [*i686*], [
145 - AC_DEFINE([STRESSAPPTEST_CPU_I686],[],
146 - [Defined if the target CPU is i686])
147 -- ;;
148 -- "xpowerpc")
149 -+ ],
150 -+ [*powerpc*], [
151 - AC_DEFINE([STRESSAPPTEST_CPU_PPC],[],
152 - [Defined if the target CPU is PowerPC])
153 -- ;;
154 -- "xarmv7a")
155 -+ ],
156 -+ [*armv7a*], [
157 - AC_DEFINE([STRESSAPPTEST_CPU_ARMV7A],[],
158 - [Defined if the target CPU is armv7a])
159 -- ;;
160 -- *)
161 -- AC_MSG_ERROR([$target_cpu is not supported! Try x86_64, i686, powerpc, or armv7a])
162 -- ;;
163 --esac
164 -+ ],
165 -+ [AC_MSG_WARN([Unsupported CPU: $host_cpu! Try x86_64, i686, powerpc, or armv7a])]
166 -+)
167 -
168 --_os=`uname`
169 - ## The following allows like systems to share settings. This is not meant to
170 - ## imply that these OS are the same thing. From OpenOffice dmake configure.in
171 --case "$_os" in
172 -- "Linux")
173 -+AS_CASE(["$host_os"],
174 -+ [*linux*], [
175 - OS_VERSION=linux
176 - AC_DEFINE([STRESSAPPTEST_OS_LINUX],[],
177 - [Defined if the target OS is Linux])
178 -- ;;
179 -- "Darwin")
180 -+ ],
181 -+ [*darwin*], [
182 - OS_VERSION=macosx
183 - AC_DEFINE([STRESSAPPTEST_OS_DARWIN],[],
184 - [Defined if the target OS is OSX])
185 -- ;;
186 -- "FreeBSD")
187 -+ ],
188 -+ [*freebsd*], [
189 - OS_VERSION=bsd
190 - AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
191 - [Defined if the target OS is BSD based])
192 -- ;;
193 -- "NetBSD")
194 -+ ],
195 -+ [*netbsd*], [
196 - OS_VERSION=bsd
197 - AC_DEFINE([STRESSAPPTEST_OS_BSD],[],
198 - [Defined if the target OS is BSD based])
199 -- ;;
200 -- *)
201 -- AC_MSG_ERROR([$_os operating system is not suitable to build dmake!])
202 -- ;;
203 --esac
204 -+ ],
205 -+ [AC_MSG_WARN([unsupported system: $host_os])]
206 -+)
207 -
208 - AM_INIT_AUTOMAKE([-Wall -Werror foreign])
209 - AC_CONFIG_SRCDIR([src/])
210 -@@ -95,10 +88,14 @@ AC_DEFINE_UNQUOTED([STRESSAPPTEST_TIMESTAMP],
211 - "$username @ $hostname on $timestamp",
212 - [Timestamp when ./configure was executed])
213 -
214 --#Default cxxflags
215 --CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
216 --CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
217 --CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
218 -+AC_ARG_ENABLE([default-optimizations],
219 -+ [AS_HELP_STRING([--disable-default-optimizations], [Disable default optimization flag overrides])])
220 -+AS_IF([test x"$enable_default_optimizations" != xno], [
221 -+ #Default cxxflags
222 -+ CXXFLAGS="$CXXFLAGS -DCHECKOPTS"
223 -+ CXXFLAGS="$CXXFLAGS -Wreturn-type -Wunused -Wuninitialized -Wall -Wno-psabi"
224 -+ CXXFLAGS="$CXXFLAGS -O3 -funroll-all-loops -funroll-loops -DNDEBUG"
225 -+])
226 -
227 - # Checks for header files.
228 - AC_HEADER_DIRENT
229 ---
230 -2.0.0
231 -
232
233 diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-channel-hash.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-channel-hash.patch
234 deleted file mode 100644
235 index 468d2d3..00000000
236 --- a/dev-util/stressapptest/files/stressapptest-1.0.6-channel-hash.patch
237 +++ /dev/null
238 @@ -1,226 +0,0 @@
239 -From 7d1eaee59d311523757fb93ec59d8985ea15b54d Mon Sep 17 00:00:00 2001
240 -From: "nick.j.sanders" <nick.j.sanders@93e54ea4-8218-11de-8aaf-8d8425684b44>
241 -Date: Thu, 10 Jan 2013 23:42:36 +0000
242 -Subject: [PATCH] Replace interleave_size with channel_hash
243 -
244 -This patch replaces the previously introduced interleave_size memory
245 -channel decoding mechanism with a more powerful channel_hash. Decoding
246 -can now be based upon an arbitrary mask of address bits, which will be
247 -XORed together to determine the target channel. Note that this drops
248 -support for more than two channels, but TripleChannel controllers will
249 -probably use much more complicated decoding mechanisms anyway.
250 -
251 -It also includes the findmask program, which offers a crude method to
252 -guess the decoding mask from an unknown memory controller for enterprising
253 -users. Use at your own risk.
254 -
255 -Signed-off-by: Julius Werner <jwerner@××××××××.org>
256 -
257 -
258 -git-svn-id: http://stressapptest.googlecode.com/svn/trunk@37 93e54ea4-8218-11de-8aaf-8d8425684b44
259 ----
260 - src/Makefile.am | 2 +
261 - src/Makefile.in | 68 +++++++++++++++++++--------
262 - src/findmask.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
263 - src/findmask.inc | 4 ++
264 - src/os.cc | 17 +++----
265 - src/os.h | 12 ++---
266 - src/sat.cc | 55 +++++++++++-----------
267 - src/sat.h | 5 +-
268 - 8 files changed, 238 insertions(+), 63 deletions(-)
269 - create mode 100644 src/findmask.c
270 - create mode 100644 src/findmask.inc
271 -
272 ---- a/src/os.cc
273 -+++ b/src/os.cc
274 -@@ -261,21 +261,22 @@ bool OsLayer::AdlerMemcpyWarm(uint64 *dstmem, uint64 *srcmem,
275 - }
276 -
277 -
278 --// Translate physical address to memory module name.
279 --// Assumes simple round-robin interleaving between memory channels of
280 --// 'interleave_size_' sized chunks, with repeated 'channel_width_'
281 -+// Translate physical address to memory module/chip name.
282 -+// Assumes interleaving between two memory channels based on the XOR of
283 -+// all address bits in the 'channel_hash' mask, with repeated 'channel_width_'
284 - // blocks with bits distributed from each chip in that channel.
285 - int OsLayer::FindDimm(uint64 addr, char *buf, int len) {
286 - static const string unknown = "DIMM Unknown";
287 -- if (!modules_) {
288 -+ if (!channels_) {
289 - snprintf(buf, len, "%s", unknown.c_str());
290 - return 0;
291 - }
292 -
293 -- // Find channel by counting interleave units (typically cachelines),
294 -- // and mod by number of channels.
295 -- vector<string>& channel = (*modules_)[
296 -- (addr / interleave_size_) % modules_->size()];
297 -+ // Find channel by XORing address bits in channel_hash mask.
298 -+ uint32 low = (uint32)(addr & channel_hash_);
299 -+ uint32 high = (uint32)((addr & channel_hash_) >> 32);
300 -+ vector<string>& channel = (*channels_)[
301 -+ __builtin_parity(high) ^ __builtin_parity(low)];
302 -
303 - // Find dram chip by finding which byte within the channel
304 - // by address mod channel width, then divide the channel
305 ---- a/src/os.h
306 -+++ b/src/os.h
307 -@@ -58,11 +58,11 @@ class OsLayer {
308 - }
309 -
310 - // Set parameters needed to translate physical address to memory module.
311 -- void SetDramMappingParams(int interleave_size, int channel_width,
312 -- vector< vector<string> > *modules) {
313 -- interleave_size_ = interleave_size;
314 -+ void SetDramMappingParams(uintptr_t channel_hash, int channel_width,
315 -+ vector< vector<string> > *channels) {
316 -+ channel_hash_ = channel_hash;
317 - channel_width_ = channel_width;
318 -- modules_ = modules;
319 -+ channels_ = channels;
320 - }
321 -
322 - // Initializes data strctures and open files.
323 -@@ -269,8 +269,8 @@ class OsLayer {
324 - bool use_posix_shm_; // Use 4k page shmem?
325 - bool dynamic_mapped_shmem_; // Conserve virtual address space.
326 - int shmid_; // Handle to shmem
327 -- vector< vector<string> > *modules_; // Memory module names per channel.
328 -- int interleave_size_; // Channel interleaving chunk size.
329 -+ vector< vector<string> > *channels_; // Memory module names per channel.
330 -+ uint64 channel_hash_; // Mask of address bits XORed for channel.
331 - int channel_width_; // Channel width in bits.
332 -
333 - int64 regionsize_; // Size of memory "regions"
334 ---- a/src/sat.cc
335 -+++ b/src/sat.cc
336 -@@ -572,12 +572,12 @@ bool Sat::Initialize() {
337 -
338 - if (min_hugepages_mbytes_ > 0)
339 - os_->SetMinimumHugepagesSize(min_hugepages_mbytes_ * kMegabyte);
340 -- if (modules_.size() > 0) {
341 -+ if (channels_.size() > 0) {
342 - logprintf(6, "Log: Decoding memory: %dx%d bit channels,"
343 -- " %d byte burst size, %d modules per channel (x%d)\n",
344 -- modules_.size(), channel_width_, interleave_size_, modules_[0].size(),
345 -- channel_width_/modules_[0].size());
346 -- os_->SetDramMappingParams(interleave_size_, channel_width_, &modules_);
347 -+ "%d modules per channel (x%d), decoding hash 0x%x\n",
348 -+ channels_.size(), channel_width_, channels_[0].size(),
349 -+ channel_width_/channels_[0].size(), channel_hash_);
350 -+ os_->SetDramMappingParams(channel_hash_, channel_width_, &channels_);
351 - }
352 -
353 - if (!os_->Initialize()) {
354 -@@ -650,7 +650,7 @@ Sat::Sat() {
355 - min_hugepages_mbytes_ = 0;
356 - freepages_ = 0;
357 - paddr_base_ = 0;
358 -- interleave_size_ = kCacheLineSize;
359 -+ channel_hash_ = kCacheLineSize;
360 - channel_width_ = 64;
361 -
362 - user_break_ = false;
363 -@@ -927,19 +927,19 @@ bool Sat::ParseArgs(int argc, char **argv) {
364 - continue;
365 - }
366 -
367 -- ARG_IVALUE("--interleave_size", interleave_size_);
368 -+ ARG_IVALUE("--channel_hash", channel_hash_);
369 - ARG_IVALUE("--channel_width", channel_width_);
370 -
371 - if (!strcmp(argv[i], "--memory_channel")) {
372 - i++;
373 - if (i < argc) {
374 -- char *module = argv[i];
375 -- modules_.push_back(vector<string>());
376 -- while (char* next = strchr(module, ',')) {
377 -- modules_.back().push_back(string(module, next - module));
378 -- module = next + 1;
379 -+ char *channel = argv[i];
380 -+ channels_.push_back(vector<string>());
381 -+ while (char* next = strchr(channel, ',')) {
382 -+ channels_.back().push_back(string(channel, next - channel));
383 -+ channel = next + 1;
384 - }
385 -- modules_.back().push_back(string(module));
386 -+ channels_.back().push_back(string(channel));
387 - }
388 - continue;
389 - }
390 -@@ -990,22 +990,25 @@ bool Sat::ParseArgs(int argc, char **argv) {
391 - }
392 -
393 - // Validate memory channel parameters if supplied
394 -- if (modules_.size()) {
395 -- if (interleave_size_ <= 0 ||
396 -- interleave_size_ & (interleave_size_ - 1)) {
397 -+ if (channels_.size()) {
398 -+ if (channels_.size() == 1) {
399 -+ channel_hash_ = 0;
400 -+ logprintf(7, "Log: "
401 -+ "Only one memory channel...deactivating interleave decoding.\n");
402 -+ } else if (channels_.size() > 2) {
403 - logprintf(6, "Process Error: "
404 -- "Interleave size %d is not a power of 2.\n", interleave_size_);
405 -+ "Triple-channel mode not yet supported... sorry.\n");
406 - bad_status();
407 - return false;
408 - }
409 -- for (uint i = 0; i < modules_.size(); i++)
410 -- if (modules_[i].size() != modules_[0].size()) {
411 -+ for (uint i = 0; i < channels_.size(); i++)
412 -+ if (channels_[i].size() != channels_[0].size()) {
413 - logprintf(6, "Process Error: "
414 -- "Channels 0 and %d have a different amount of modules.\n",i);
415 -+ "Channels 0 and %d have a different count of dram modules.\n",i);
416 - bad_status();
417 - return false;
418 - }
419 -- if (modules_[0].size() & (modules_[0].size() - 1)) {
420 -+ if (channels_[0].size() & (channels_[0].size() - 1)) {
421 - logprintf(6, "Process Error: "
422 - "Amount of modules per memory channel is not a power of 2.\n");
423 - bad_status();
424 -@@ -1018,9 +1021,9 @@ bool Sat::ParseArgs(int argc, char **argv) {
425 - bad_status();
426 - return false;
427 - }
428 -- if (channel_width_ / modules_[0].size() < 8) {
429 -- logprintf(6, "Process Error: "
430 -- "Chip width x%d must be x8 or greater.\n", channel_width_ / modules_[0].size());
431 -+ if (channel_width_ / channels_[0].size() < 8) {
432 -+ logprintf(6, "Process Error: Chip width x%d must be x8 or greater.\n",
433 -+ channel_width_ / channels_[0].size());
434 - bad_status();
435 - return false;
436 - }
437 -@@ -1095,8 +1098,8 @@ void Sat::PrintHelp() {
438 - "each CPU to be tested by that CPU\n"
439 - " --remote_numa choose memory regions not associated with "
440 - "each CPU to be tested by that CPU\n"
441 -- " --interleave_size bytes size in bytes of each channel's data as interleaved "
442 -- "between memory channels\n"
443 -+ " --channel_hash mask of address bits XORed to determine channel.\n"
444 -+ " Mask 0x40 interleaves cachelines between channels\n"
445 - " --channel_width bits width in bits of each memory channel\n"
446 - " --memory_channel u1,u2 defines a comma-separated list of names\n"
447 - " for dram packages in a memory channel.\n"
448 ---- a/src/sat.h
449 -+++ b/src/sat.h
450 -@@ -151,9 +151,8 @@ class Sat {
451 - int64 freepages_; // How many invalid pages we need.
452 - int disk_pages_; // Number of pages per temp file.
453 - uint64 paddr_base_; // Physical address base.
454 -- vector< vector<string> > modules_; // Memory module names per channel.
455 -- int interleave_size_; // Channel interleaving chunk size in bytes.
456 -- // Usually cacheline sized.
457 -+ vector< vector<string> > channels_; // Memory module names per channel.
458 -+ uint64 channel_hash_; // Mask of address bits XORed for channel.
459 - int channel_width_; // Channel width in bits.
460 -
461 - // Control flags.
462 ---
463 -2.0.0
464 -
465
466 diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch
467 deleted file mode 100644
468 index e67bbc5..00000000
469 --- a/dev-util/stressapptest/files/stressapptest-1.0.6-misc-fixes.patch
470 +++ /dev/null
471 @@ -1,75 +0,0 @@
472 -extracted just a few fixes we care about
473 -
474 -From 5fca3981f68115144566ddf91d2d188372603b7b Mon Sep 17 00:00:00 2001
475 -From: "ewout@××××××.com"
476 - <ewout@××××××.com@93e54ea4-8218-11de-8aaf-8d8425684b44>
477 -Date: Tue, 10 Sep 2013 21:27:49 +0000
478 -Subject: [PATCH] New frequency test, fixed error accounting, added logging
479 - timestamps, and miscellaneous smaller changes.
480 -
481 -* Added a CPU Frequency test for select X86 processors to verify a minimum frequency is maintained during non-pause periods.
482 -* Fixed the error accounting in WorkerThread::CheckRegion if more than 128 miscompares are found and when block errors are detected.
483 -* Updated the logger to include timestamps and the associated timezone.
484 -* Moved from apicid() to sched_getcpu() for determining the core ID.
485 -* Added the ability to reserve a specified amount of memory. This can override the requested memory allocation.
486 -* If not using POSIX shared memory or hugepages, explicitly mmap memory if the pagesize is 4kB otherwise use memalign.
487 -* Removed the OSLayer's unused PCI device handling.
488 -* Numerous refactoring changes.
489 -
490 -
491 -
492 -git-svn-id: http://stressapptest.googlecode.com/svn/trunk@38 93e54ea4-8218-11de-8aaf-8d8425684b44
493 ----
494 - configure.ac | 6 +-
495 - src/Makefile.am | 1 +
496 - src/clock.h | 29 ++++
497 - src/disk_blocks.cc | 187 ++++++++---------------
498 - src/disk_blocks.h | 157 +++++++++++++------
499 - src/findmask.c | 6 +-
500 - src/logger.cc | 56 ++++---
501 - src/logger.h | 17 ++-
502 - src/os.cc | 218 +++++++++++----------------
503 - src/os.h | 132 ++++++++++++++--
504 - src/sat.cc | 144 +++++++++++++++---
505 - src/sat.h | 19 ++-
506 - src/sattypes.h | 58 ++++++-
507 - src/worker.cc | 435 +++++++++++++++++++++++++++++++++++++++++------------
508 - src/worker.h | 100 +++++++++++-
509 - stressapptest.1 | 7 +-
510 - 16 files changed, 1095 insertions(+), 477 deletions(-)
511 - create mode 100644 src/clock.h
512 -
513 -diff --git a/src/os.cc b/src/os.cc
514 -index 7cae23b..6358398 100644
515 ---- a/src/os.cc
516 -+++ b/src/os.cc
517 -@@ -130,7 +141,7 @@ int OsLayer::AddressMode() {
518 - // Translates user virtual to physical address.
519 - uint64 OsLayer::VirtualToPhysical(void *vaddr) {
520 - uint64 frame, shift;
521 -- off64_t off = ((uintptr_t)vaddr) / getpagesize() * 8;
522 -+ off64_t off = ((uintptr_t)vaddr) / sysconf(_SC_PAGESIZE) * 8;
523 - int fd = open(kPagemapPath, O_RDONLY);
524 - // /proc/self/pagemap is available in kernel >= 2.6.25
525 - if (fd < 0)
526 -@@ -507,7 +533,7 @@ bool OsLayer::AllocateTestMem(int64 length, uint64 paddr_base) {
527 - break;
528 - }
529 -
530 -- shmaddr = shmat(shmid, NULL, NULL);
531 -+ shmaddr = shmat(shmid, NULL, 0);
532 - if (shmaddr == reinterpret_cast<void*>(-1)) {
533 - int err = errno;
534 - string errtxt = ErrorString(err);
535 -@@ -564,7 +590,7 @@ bool OsLayer::AllocateTestMem(int64 length, uint64 paddr_base) {
536 - // Do a full mapping here otherwise.
537 - shmaddr = mmap64(NULL, length, PROT_READ | PROT_WRITE,
538 - MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
539 -- shm_object, NULL);
540 -+ shm_object, 0);
541 - if (shmaddr == reinterpret_cast<void*>(-1)) {
542 - int err = errno;
543 - string errtxt = ErrorString(err);
544 ---
545 -2.0.0
546 -
547
548 diff --git a/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch b/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch
549 deleted file mode 100644
550 index 31036b4..00000000
551 --- a/dev-util/stressapptest/files/stressapptest-1.0.6-pthread-test.patch
552 +++ /dev/null
553 @@ -1,136 +0,0 @@
554 -From 2cc58e88b26e13e87a36439d7a7e7b44b4a1e47e Mon Sep 17 00:00:00 2001
555 -From: "nick.j.sanders" <nick.j.sanders@93e54ea4-8218-11de-8aaf-8d8425684b44>
556 -Date: Wed, 9 Jan 2013 21:13:13 +0000
557 -Subject: [PATCH] Allow ./configure for cross compile
558 -
559 -Fix regression from BARRIER detect change.
560 -
561 -
562 -git-svn-id: http://stressapptest.googlecode.com/svn/trunk@36 93e54ea4-8218-11de-8aaf-8d8425684b44
563 ----
564 - configure | 49 +++++++------------------------------------
565 - configure.ac | 21 +------------------
566 - src/stressapptest_config.h.in | 3 +++
567 - 3 files changed, 11 insertions(+), 62 deletions(-)
568 -
569 -diff --git a/configure b/configure
570 -index 12bc16b..8c10c52 100755
571 ---- a/configure
572 -+++ b/configure
573 -@@ -5064,6 +5064,13 @@ if test "$ac_res" != no; then :
574 -
575 - fi
576 -
577 -+ac_fn_c_check_type "$LINENO" "pthread_barrier_t" "ac_cv_type_pthread_barrier_t" "$ac_includes_default"
578 -+if test "x$ac_cv_type_pthread_barrier_t" = x""yes; then :
579 -+
580 -+$as_echo "#define HAVE_PTHREAD_BARRIERS 1" >>confdefs.h
581 -+
582 -+fi
583 -+
584 - for ac_header in libaio.h
585 - do :
586 - ac_fn_c_check_header_mongrel "$LINENO" "libaio.h" "ac_cv_header_libaio_h" "$ac_includes_default"
587 -@@ -5201,48 +5208,6 @@ if test "$ac_res" != no; then :
588 - fi
589 -
590 -
591 --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_barrier" >&5
592 --$as_echo_n "checking for pthread_barrier... " >&6; }
593 --if test "${ac_cv_func_pthread_barrier+set}" = set; then :
594 -- $as_echo_n "(cached) " >&6
595 --else
596 -- if test "$cross_compiling" = yes; then :
597 -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
598 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
599 --as_fn_error "cannot run test program while cross compiling
600 --See \`config.log' for more details." "$LINENO" 5; }
601 --else
602 -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
603 --/* end confdefs.h. */
604 --
605 -- #include <pthread.h>
606 -- int main(void)
607 -- {
608 -- pthread_barrier_t t;
609 -- return 0;
610 -- }
611 --
612 --_ACEOF
613 --if ac_fn_c_try_run "$LINENO"; then :
614 -- ac_cv_func_pthread_barrier=yes
615 --else
616 -- ac_cv_func_pthread_barrier=no
617 --
618 --fi
619 --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
620 -- conftest.$ac_objext conftest.beam conftest.$ac_ext
621 --fi
622 --
623 --
624 --fi
625 --
626 --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_pthread_barrier" >&5
627 --$as_echo "$ac_cv_func_pthread_barrier" >&6; }
628 --if test "$ac_cv_func_pthread_barrier" = "yes"; then
629 --
630 --$as_echo "#define HAVE_PTHREAD_BARRIER 1" >>confdefs.h
631 --
632 --fi
633 -
634 - # Checks for typedefs, structures, and compiler characteristics.
635 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
636 -diff --git a/configure.ac b/configure.ac
637 -index aba8791..ca10966 100644
638 ---- a/configure.ac
639 -+++ b/configure.ac
640 -@@ -107,31 +107,12 @@ AC_HEADER_STDC
641 - AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h stdint.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h unistd.h], [], [AC_MSG_FAILURE([Missing some header files.])])
642 - AC_CHECK_HEADERS([pthread.h])
643 - AC_SEARCH_LIBS([pthread_create], [pthread])
644 -+AC_CHECK_TYPE([pthread_barrier_t], AC_DEFINE(HAVE_PTHREAD_BARRIERS, [1], [Define to 1 if the system has `pthread_barrier'.]))
645 - AC_CHECK_HEADERS([libaio.h])
646 - AC_SEARCH_LIBS([io_setup], [aio])
647 - AC_CHECK_HEADERS([sys/shm.h])
648 - AC_SEARCH_LIBS([shm_open], [rt])
649 -
650 --AC_MSG_CHECKING(for pthread_barrier)
651 --AC_CACHE_VAL(
652 -- ac_cv_func_pthread_barrier,
653 -- AC_TRY_RUN(
654 -- [
655 -- #include <pthread.h>
656 -- int main(void)
657 -- {
658 -- pthread_barrier_t t;
659 -- return 0;
660 -- }
661 -- ],
662 -- ac_cv_func_pthread_barrier=yes,
663 -- ac_cv_func_pthread_barrier=no
664 -- )
665 --)
666 --AC_MSG_RESULT($ac_cv_func_pthread_barrier)
667 --if test "$ac_cv_func_pthread_barrier" = "yes"; then
668 -- AC_DEFINE(HAVE_PTHREAD_BARRIER, [1], [Define to 1 if the system has `pthread_barrier'.])
669 --fi
670 -
671 - # Checks for typedefs, structures, and compiler characteristics.
672 - AC_HEADER_STDBOOL
673 -diff --git a/src/stressapptest_config.h.in b/src/stressapptest_config.h.in
674 -index 97f306e..5412df4 100644
675 ---- a/src/stressapptest_config.h.in
676 -+++ b/src/stressapptest_config.h.in
677 -@@ -53,6 +53,9 @@
678 - /* Define to 1 if you have the `posix_memalign' function. */
679 - #undef HAVE_POSIX_MEMALIGN
680 -
681 -+/* Define to 1 if the system has `pthread_barrier'. */
682 -+#undef HAVE_PTHREAD_BARRIERS
683 -+
684 - /* Define to 1 if you have the <pthread.h> header file. */
685 - #undef HAVE_PTHREAD_H
686 -
687 ---
688 -2.0.0
689 -
690
691 diff --git a/dev-util/stressapptest/stressapptest-1.0.4.ebuild b/dev-util/stressapptest/stressapptest-1.0.4.ebuild
692 deleted file mode 100644
693 index 1201e8d..00000000
694 --- a/dev-util/stressapptest/stressapptest-1.0.4.ebuild
695 +++ /dev/null
696 @@ -1,35 +0,0 @@
697 -# Copyright 1999-2013 Gentoo Foundation
698 -# Distributed under the terms of the GNU General Public License v2
699 -# $Id$
700 -
701 -EAPI="4"
702 -
703 -inherit eutils
704 -
705 -MY_P="${P}_autoconf"
706 -DESCRIPTION="Stressful Application Test"
707 -HOMEPAGE="https://code.google.com/p/stressapptest/"
708 -SRC_URI="https://stressapptest.googlecode.com/files/${MY_P}.tar.gz"
709 -
710 -LICENSE="Apache-2.0"
711 -SLOT="0"
712 -KEYWORDS="~amd64 ~arm ~x86"
713 -IUSE="debug"
714 -
715 -RDEPEND="dev-libs/libaio"
716 -DEPEND="${RDEPEND}"
717 -
718 -S="${WORKDIR}/${MY_P}"
719 -
720 -src_prepare() {
721 - epatch "${FILESDIR}"/${P}-cpuid-pic.patch
722 - sed -i \
723 - '/CXXFLAGS/s:-O3 -funroll-all-loops -funroll-loops::' \
724 - configure || die
725 -}
726 -
727 -src_install() {
728 - default
729 - doman "${ED}"/usr/share/doc/${PN}/${PN}.1
730 - rm -rf "${ED}"/usr/share/doc # only installs COPYING & man page
731 -}
732
733 diff --git a/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild b/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild
734 deleted file mode 100644
735 index 0be71ac..00000000
736 --- a/dev-util/stressapptest/stressapptest-1.0.6-r1.ebuild
737 +++ /dev/null
738 @@ -1,33 +0,0 @@
739 -# Copyright 1999-2014 Gentoo Foundation
740 -# Distributed under the terms of the GNU General Public License v2
741 -# $Id$
742 -
743 -EAPI="4"
744 -
745 -inherit eutils autotools
746 -
747 -MY_P="${P}_autoconf"
748 -DESCRIPTION="Stressful Application Test"
749 -HOMEPAGE="https://code.google.com/p/stressapptest/"
750 -SRC_URI="https://stressapptest.googlecode.com/files/${MY_P}.tar.gz"
751 -
752 -LICENSE="Apache-2.0"
753 -SLOT="0"
754 -KEYWORDS="~amd64 ~arm ~mips ~x86"
755 -IUSE="debug"
756 -
757 -RDEPEND="dev-libs/libaio"
758 -DEPEND="${RDEPEND}"
759 -
760 -S="${WORKDIR}/${MY_P}"
761 -
762 -src_prepare() {
763 - epatch "${FILESDIR}"/${P}-autotools.patch
764 - epatch "${FILESDIR}"/${P}-pthread-test.patch
765 - epatch "${FILESDIR}"/${P}-misc-fixes.patch
766 - eautoreconf
767 -}
768 -
769 -src_configure() {
770 - econf --disable-default-optimizations
771 -}
772
773 diff --git a/dev-util/stressapptest/stressapptest-1.0.6-r2.ebuild b/dev-util/stressapptest/stressapptest-1.0.6-r2.ebuild
774 deleted file mode 100644
775 index f1c3e2b..00000000
776 --- a/dev-util/stressapptest/stressapptest-1.0.6-r2.ebuild
777 +++ /dev/null
778 @@ -1,34 +0,0 @@
779 -# Copyright 1999-2014 Gentoo Foundation
780 -# Distributed under the terms of the GNU General Public License v2
781 -# $Id$
782 -
783 -EAPI="4"
784 -
785 -inherit eutils autotools
786 -
787 -MY_P="${P}_autoconf"
788 -DESCRIPTION="Stressful Application Test"
789 -HOMEPAGE="https://code.google.com/p/stressapptest/"
790 -SRC_URI="https://stressapptest.googlecode.com/files/${MY_P}.tar.gz"
791 -
792 -LICENSE="Apache-2.0"
793 -SLOT="0"
794 -KEYWORDS="~amd64 ~arm ~mips ~x86"
795 -IUSE="debug"
796 -
797 -RDEPEND="dev-libs/libaio"
798 -DEPEND="${RDEPEND}"
799 -
800 -S="${WORKDIR}/${MY_P}"
801 -
802 -src_prepare() {
803 - epatch "${FILESDIR}"/${P}-autotools.patch
804 - epatch "${FILESDIR}"/${P}-pthread-test.patch
805 - epatch "${FILESDIR}"/${P}-misc-fixes.patch
806 - epatch "${FILESDIR}"/${P}-channel-hash.patch
807 - eautoreconf
808 -}
809 -
810 -src_configure() {
811 - econf --disable-default-optimizations
812 -}
813
814 diff --git a/dev-util/stressapptest/stressapptest-1.0.6.ebuild b/dev-util/stressapptest/stressapptest-1.0.6.ebuild
815 deleted file mode 100644
816 index 336d2c1..00000000
817 --- a/dev-util/stressapptest/stressapptest-1.0.6.ebuild
818 +++ /dev/null
819 @@ -1,32 +0,0 @@
820 -# Copyright 1999-2013 Gentoo Foundation
821 -# Distributed under the terms of the GNU General Public License v2
822 -# $Id$
823 -
824 -EAPI="4"
825 -
826 -MY_P="${P}_autoconf"
827 -DESCRIPTION="Stressful Application Test"
828 -HOMEPAGE="https://code.google.com/p/stressapptest/"
829 -SRC_URI="https://stressapptest.googlecode.com/files/${MY_P}.tar.gz"
830 -
831 -LICENSE="Apache-2.0"
832 -SLOT="0"
833 -KEYWORDS="~amd64 ~arm ~x86"
834 -IUSE="debug"
835 -
836 -RDEPEND="dev-libs/libaio"
837 -DEPEND="${RDEPEND}"
838 -
839 -S="${WORKDIR}/${MY_P}"
840 -
841 -src_prepare() {
842 - sed -i \
843 - '/CXXFLAGS/s:-O3 -funroll-all-loops -funroll-loops::' \
844 - configure || die
845 -}
846 -
847 -src_install() {
848 - default
849 - doman "${ED}"/usr/share/doc/${PN}/${PN}.1
850 - rm -rf "${ED}"/usr/share/doc # only installs COPYING & man page
851 -}