summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-benchmark
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-06-24 16:36:18 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-06-24 16:38:35 +0300
commitc8f4712845034714fed763414987305bacafe1fd (patch)
tree076fa034dbf82e26eeb4be701ff70e4fb8f66881 /meta-openembedded/meta-oe/recipes-benchmark
parent0bd2291397ecbeae3b2e29a25d7184177b094f25 (diff)
downloadopenbmc-c8f4712845034714fed763414987305bacafe1fd.tar.xz
subtree updates
poky: 50d272863d..0b3e371116: Alistair Francis (1): recipes-bsp/opensbi: Fix the u-boot payload name Changqing Li (2): update-rc.d: update SRCREV and license checksum update-rc.d: support enable/disable options Chen Qi (2): context.py: avoid skipping tests by meaningless command argument oeqa: avoid class setup method to run when skipping the whole class Joe Slater (1): glib-2.0: Fix CVE-2019-12450 Jonathan Rajotte (1): lttng-tools: update to 2.10.7 Joseph Reynolds (1): dropbear: new feature: disable-weak-ciphers Joshua Watt (4): perl: Improve ptest package reproducibility python3: Reformat sysconfig perl: Reproducible build fixes bash: Remove .build files for reproducible builds Martin Jansa (1): gcc-runtime.inc: create the correct directory before creating the symlinks in it Ricardo Ribalda Delgado (1): go: avoid host contamination by GOCACHE Ross Burton (1): pigz: bump alternative priority Tim Orling (1): ptest-packagelists.inc: add libmodule-build-perl-ptest meta-openembedded: 3b245e4fe8..64974b8779: Adrian Bunk (9): libauthen-radius-perl: Remove manual RDEPENDS from PN-ptest to PN package network-manager-applet: Remove obsolete dbus-glib and libnm-glib dependencies ndctl: Remove the unnecessary dependency on virtual/kernel tipcutils: Remove the unnecessary dependency on virtual/kernel xl2tpd: Remove the old 1.3.6 version gpsd: Force using python-scons-native for now efibootmgr: Remove, was moved to oe-core efivar: Remove, was moved to oe-core wireless-regdb: Remove, was moved to oe-core Andrey Zhizhikin (1): cpuburn-arm: add aarch64 machine and build configuration Ankit Navik (1): safec: Add Safe C license Bartosz Golaszewski (1): libgpiod: upgrade to v1.4 Hongxu Jia (1): dracut: fix generated initramfs boot failure under bash 5 Kai Kang (1): xfce4-screensaver: 0.1.4 -> 0.1.5 Khem Raj (5): stressapptest: Fix build with libc++ stressapptest: Implement reading sysfs and use it if sysconf is not there stressapptest: Use git SHA instead of git archive gmime: Add recipe pidgin-sipe: Depend on gmime Maciej Pijanowski (1): recipes-benchmark/stressapptest_1.0.9.bb: add recipe Mingli Yu (3): mariadb: Upgrade to 10.3.16 mozjs: Fix do_patch error for mips64-n32 python-lxml: replace -Og with -O for mips64-32 Naveen Saini (1): pm-graph: fix multilib build failure Nicola Lunghi (1): libp11: No need to delete *.la anymore Oleksandr Kravchuk (1): openconnect: update to 8.03 Pascal Bach (3): protobuf: 3.6.1 -> 3.8.0 protobuf-c: add patch for protobuf 3 compatibility python3-protobuf, python-protobuf: 3.6.1 -> 3.8.0 Persian Prince (1): blueman_%.bbappend: Avoid PAK archive (application/x-pak) Saikiran Madugula (1): gitver: Pass git directory argument to gitrev_run Tim Orling (1): libmodule-build-perl: drop, has moved to oe-core Yi Zhao (1): snort: upgrade 2.9.11.1 -> 2.9.13 Zang Ruochen (3): python-twisted: upgrade 19.2.0 -> 19.2.1 python-wrapt: upgrade 1.11.1 -> 1.11.2 python-certifi: upgrade 2019.3.9 -> 2019.6.16 Change-Id: I0c3385628e0382c56c94fa27ba4d14e301c2e558 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-benchmark')
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch72
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb21
4 files changed, 144 insertions, 9 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 6189da39fd..b21212a430 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/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
new file mode 100644
index 0000000000..f5e7da359d
--- /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 0000000000..8c251aeb97
--- /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 0000000000..a2966e99dd
--- /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