diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-benchmark')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb | 32 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb (renamed from meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb) | 4 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb | 4 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch | 28 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch | 72 | ||||
-rw-r--r-- | meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb | 21 |
6 files changed, 148 insertions, 13 deletions
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb index 6189da39f..b21212a43 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb @@ -18,21 +18,35 @@ SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \ S = "${WORKDIR}/git" do_compile() { - ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 - ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait + + # If the arch is set to ARM 64-bit - we only produce and ship burn-a53 version. + # In case of ARM 32-bit - we would build all variants, since burn-a53 supports both + # 32 and 64-bit builds + if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 + else + ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a7.S -o burn-a7 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-a8 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a9.S -o burn-a9 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a53.S -o burn-a53 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-krait.S -o burn-krait + fi } do_install() { install -d ${D}${bindir} - for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do - install -m 0755 $f ${D}${bindir}/$f - done + + if ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'true', 'false', d)}; then + install -m 0755 burn-a53 ${D}${bindir} + else + for f in burn burn-a7 burn-a8 burn-a9 burn-a53 burn-krait; do + install -m 0755 $f ${D}${bindir}/$f + done + fi } COMPATIBLE_MACHINE ?= "(^$)" COMPATIBLE_MACHINE_armv7a = "(.*)" COMPATIBLE_MACHINE_armv7ve = "(.*)" +COMPATIBLE_MACHINE_aarch64 = "(.*)" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb index 4c7b05752..873384496 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.6.0.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SECTION = "console/tests" SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" -SRC_URI[md5sum] = "a3d9e81f5abc1921d3aaf710ac4f4046" -SRC_URI[sha256sum] = "acb9dfcf4a3452aaf82cce59ccc04fa4cf51a43617a6cca9d1f9c5c670a5655d" +SRC_URI[md5sum] = "08fc81d25a1c24c7b091ac78ef145da6" +SRC_URI[sha256sum] = "d6feeeafb6d636667480b6fbfd2a6537e3b354b2c7c72305784d14d38ab4bcd0" S = "${WORKDIR}/phoronix-test-suite" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb index 706a55e11..741142c50 100644 --- a/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb +++ b/meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb @@ -2,8 +2,8 @@ SUMMARY = "Small collection of benchmarks for storage I/O" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3" -SRCREV = "262227ec9de4be1ab41d9918d32ceb773089f1dd" -PV = "3.2+git${SRCPV}" +SRCREV = "8d22ab8a4cc1484622c47ac9c5944fb9a61a5c0f" +PV = "3.4" SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch new file mode 100644 index 000000000..f5e7da359 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch @@ -0,0 +1,28 @@ +Fix compile on sytems using libc++ instead of libstdc++ + +libc++ does not really implement __gnu_cxx namespace and it +compiles fine without this namespace, therefore detect libc++ +and if it is used them exclude this namespace + +See https://github.com/stressapptest/stressapptest/issues/47 + +Fixes + +./sattypes.h:33:17: error: expected namespace name +using namespace __gnu_cxx; //NOLINT + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- stressapptest-1.0.9.orig/src/sattypes.h ++++ stressapptest-1.0.9/src/sattypes.h +@@ -30,7 +30,9 @@ + #include "stressapptest_config_android.h" // NOLINT + #else + #include "stressapptest_config.h" // NOLINT ++#ifndef _LIBCPP_VERSION + using namespace __gnu_cxx; //NOLINT ++#endif // _LIBCPP_VERSION + #endif // __ANDROID__ + using namespace std; + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch new file mode 100644 index 000000000..8c251aeb9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch @@ -0,0 +1,72 @@ +sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally +implemented, therefore check for them being available, if not there +then read the sysfs directly to get the value + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/src/sat.cc ++++ b/src/sat.cc +@@ -1482,15 +1482,47 @@ int Sat::CpuCount() { + return sysconf(_SC_NPROCESSORS_CONF); + } + ++int Sat::ReadInt(const char *filename, int *value) { ++ char line[64]; ++ int fd = open(filename, O_RDONLY), err = -1; ++ ++ if (fd < 0) ++ return -1; ++ if (read(fd, line, sizeof(line)) > 0) { ++ *value = atoi(line); ++ err = 0; ++ } ++ ++ close(fd); ++ return err; ++} ++ + // Return the worst case (largest) cache line size of the various levels of + // cache actually prsent in the machine. + int Sat::CacheLineSize() { +- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); +- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE); ++ int max_linesize, linesize; ++#ifdef _SC_LEVEL1_DCACHE_LINESIZE ++ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize); ++#endif ++#ifdef _SC_LEVEL2_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; +- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE); ++#ifdef _SC_LEVEL3_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; +- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE); ++#ifdef _SC_LEVEL4_DCACHE_LINESIZE ++ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE); ++#else ++ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize); ++#endif + if (linesize > max_linesize) max_linesize = linesize; + return max_linesize; + } +--- a/src/sat.h ++++ b/src/sat.h +@@ -136,7 +136,8 @@ class Sat { + int CpuCount(); + // Return the worst-case (largest) cache line size of the system. + int CacheLineSize(); +- ++ // Read int values from kernel file system e.g. sysfs ++ int ReadInt(const char *filename, int *value); + // Collect error counts from threads. + int64 GetTotalErrorCount(); + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb new file mode 100644 index 000000000..a2966e99d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb @@ -0,0 +1,21 @@ +SUMMARY = "Stressful Application Test" +DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \ + is a memory interface test. It tries to maximize randomized traffic to memory \ + from processor and I/O, with the intent of creating a realistic high load \ + situation in order to test the existing hardware devices in a computer. \ +" +HOMEPAGE = "https://github.com/stressapptest/stressapptest" +SECTION = "benchmark" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58" + +SRCREV = "fb72e5e5f0879231f38e0e826a98a6ca2d1ca38e" + +SRC_URI = "git://github.com/stressapptest/stressapptest \ + file://libcplusplus-compat.patch \ + file://read_sysfs_for_cachesize.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools |