aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2022-08-31 23:39:28 -0700
committerKhem Raj <raj.khem@gmail.com>2022-09-05 22:49:34 -0700
commit97f3a9e4a87aaa46fde1d5a1ca0903931432016a (patch)
tree39d5fbccfe41f63adf58412c9d7260e45aeeffec /meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
parent4465019bcbbc591c0821f4d38da12d2b693947fe (diff)
downloadmeta-openembedded-97f3a9e4a87aaa46fde1d5a1ca0903931432016a.tar.gz
lmbench: Add patch to fix typo including string.h header
Move all patches under one directory, to keep it simple Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch')
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch215
1 files changed, 0 insertions, 215 deletions
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
deleted file mode 100644
index cbab5c424e..0000000000
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-From 65180976c9963432d166b47a0b692260a69c0d47 Mon Sep 17 00:00:00 2001
-From: Qingming Su <qingming.su@windriver.com>
-Date: Tue, 19 Aug 2014 05:16:17 -0400
-Subject: [PATCH] lmbench: Can't proceed on some targets
-
-lmbench can't proceed on some targets. The memory check fails because the
-memory latency of each page is longer then 10us, which is a time limit set
-in the original memsize.c.
-
-The memory latency is very different on different targets due to the
-hardware and current system load. The targets with slower memory
-chips or heavy system load need much longer time to read or write
-the memory.
-
-This fix changes the fixed time limit of 10us to a specific value calculated
-from the runtime target.
-
-Also set an upper limit of memory size used for lmbench testing. The memory
-check sometimes fails if the target has a large amount of memory, for
-example more than 4G.
-
-Signed-off-by: Qingming Su <qingming.su@windriver.com>
-Signed-off-by: Fupan Li <fupan.li@windriver.com>
-
-Add and reword above comments
-
-Upstream-status: inappropriate [ configuration ]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
----
- scripts/config-run | 12 +++++++---
- src/Makefile | 4 ++--
- src/memsize.c | 66 +++++++++++++++++++++++++++++++++++-------------------
- 3 files changed, 54 insertions(+), 28 deletions(-)
-
-diff --git a/scripts/config-run b/scripts/config-run
-index 918cbdf..096ed12 100755
---- a/scripts/config-run
-+++ b/scripts/config-run
-@@ -197,6 +197,12 @@ The bigger the range, the more accurate the results, but larger sizes
- take somewhat longer to run the benchmark.
-
- EOF
-+
-+# By default, use 512M memory as the upper limit for lmbench test
-+if [ $MB -gt 512 ];then
-+MB=512
-+fi
-+
- echo $ECHON "MB [default $MB]: $ECHOC"
- read TMP
- if [ X$TMP != X ]
-@@ -687,10 +693,10 @@ case $MAIL in
- ;;
- esac
-
--INFO=`../scripts/info`
-+INFO=`../scripts/hostinfo`
- if [ $MAIL = yes ]
- then if [ ! -f $INFO ]
-- then cp ../scripts/info-template $INFO
-+ then cp ../scripts/hostinfo-template $INFO
- chmod +w $INFO
- REUSE=no
- else
-@@ -733,7 +739,7 @@ EOF
- then EDITOR=$TMP
- fi
- if [ X$EDITOR != "none" ]
-- then $EDITOR `../scripts/info`
-+ then $EDITOR `../scripts/hostinfo`
- fi
- fi
- fi
-diff --git a/src/Makefile b/src/Makefile
-index c7e4e3c..d9efd54 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -50,7 +50,7 @@ TARGET=`../scripts/target`
- BINDIR=../bin/$(OS)
- CONFIG=../bin/$(OS)/`../scripts/config`
- UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \
-- ../scripts/info ../scripts/info-template ../scripts/version \
-+ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \
- ../scripts/config ../scripts/config-run ../scripts/results \
- ../scripts/lmbench ../scripts/make ../scripts/build
- INSTALL=cp
-@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS)
- $(COMPILE) -c getopt.c -o $O/getopt.o
-
- $(UTILS) :
-- -cd ../scripts; make get
-+ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template
-
- # Do not remove the next line, $(MAKE) depend needs it
- # MAKEDEPEND follows
-diff --git a/src/memsize.c b/src/memsize.c
-index eb25a09..82d7faf 100644
---- a/src/memsize.c
-+++ b/src/memsize.c
-@@ -14,9 +14,12 @@ char *id = "$Id$\n";
-
- #define CHK(x) if ((x) == -1) { perror("x"); exit(1); }
-
--#ifndef TOO_LONG
--#define TOO_LONG 10 /* usecs */
--#endif
-+//#ifndef TOO_LONG
-+//#define TOO_LONG 10 /* usecs */
-+//#endif
-+
-+#define MEMORY_SIZE_1MB (1024 * 1024)
-+#define MEMORY_SIZE_8MB (8 * 1024 * 1024)
-
- int alarm_triggered = 0;
-
-@@ -35,10 +38,10 @@ main(int ac, char **av)
- size_t delta;
-
- if (ac == 2) {
-- max = size = bytes(av[1]) * 1024 * 1024;
-+ max = size = bytes(av[1]) * MEMORY_SIZE_1MB;
- }
-- if (max < 1024 * 1024) {
-- max = size = 1024 * 1024 * 1024;
-+ if (max < MEMORY_SIZE_1MB) {
-+ max = size = 1024 * MEMORY_SIZE_1MB;
- }
- /*
- * Binary search down and then binary search up
-@@ -48,7 +51,7 @@ main(int ac, char **av)
- }
- /* delta = size / (2 * 1024 * 1024) */
- for (delta = (size >> 21); delta > 0; delta >>= 1) {
-- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024;
-+ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB;
- size_t check = sz;
- if (max < sz) continue;
- if (check < sz || !test_malloc(sz)) break;
-@@ -66,41 +69,58 @@ timeit(char *where, size_t size)
- {
- int sum = 0;
- size_t n;
-- size_t s_prev;
-+ size_t s_prev = MEMORY_SIZE_8MB;
- size_t range;
-- size_t incr = 1024 * 1024;
-+ size_t incr = MEMORY_SIZE_1MB;
- size_t pagesize = getpagesize();
-- unsigned long long s;
--
-- if (size < 1024*1024 - 16*1024) {
-- fprintf(stderr, "Bad size\n");
-- return;
-- }
-+ size_t time_each_page = 0;
-+ size_t too_long = 0;
-+ unsigned long long s;
-+
-+ if (pagesize < MEMORY_SIZE_1MB)
-+ range = MEMORY_SIZE_1MB;
-+ else
-+ range = MEMORY_SIZE_8MB;
-+
-+ incr = MEMORY_SIZE_1MB;
-+
-+ if (size < range) {
-+ fprintf(stderr, "Bad size\n");
-+ return;
-+ }
-+
-+ //Touch range of memory, get the average time (usec) of operating each memory page on this system
-+ start(0);
-+ touchRange(where, range, pagesize);
-+ sum = stop(0, 0);
-+
-+ if ((time_each_page = sum * pagesize / range) < 1)
-+ time_each_page = 1;
-+ //Set the uper limit of time spending on one page
-+ too_long = 10 * time_each_page;
-
-- range = 1024 * 1024;
-- incr = 1024 * 1024;
-- touchRange(where, range, pagesize);
- for (range += incr; range <= size; range += incr) {
- n = range / pagesize;
-- set_alarm(n * TOO_LONG);
-+ set_alarm(n * too_long);
- touchRange(where + range - incr, incr, pagesize);
- clear_alarm();
-- set_alarm(n * TOO_LONG);
-+ set_alarm(n * too_long);
- start(0);
- touchRange(where, range, pagesize);
- sum = stop(0, 0);
- clear_alarm();
-- if ((sum / n) > TOO_LONG || alarm_triggered) {
-+ if ((sum / n) > too_long || alarm_triggered) {
- size = range - incr;
-+ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long);
- break;
- }
-- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2)
-+ for (s = s_prev; s <= range; s_prev = s, s *= 2)
- if (s < s_prev) break;
- incr = s / 8;
- if (range < size && size < range + incr) {
- incr = size - range;
- }
-- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024)));
-+ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB));
- }
- fprintf(stderr, "\n");
- printf("%d\n", (int)(size>>20));