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 |
-} |