mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
stress-ng: Add recipe
A tool to generate load and stress a system, currently this recipe is on a couple of layers [1] and is not updated, a good reason to have in meta-oe. [1] https://layers.openembedded.org/layerindex/branch/master/recipes/?q=stress-ng Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> Signed-off-by: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
committed by
Martin Jansa
parent
b50cfa1f1f
commit
79c5e2c723
+170
@@ -0,0 +1,170 @@
|
||||
From d50203b233cb8820bf83b6651c2a8487e0db1fcf Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linaro.org>
|
||||
Date: Tue, 17 Oct 2017 10:13:20 -0500
|
||||
Subject: [PATCH] Several changes to fix musl build
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
stress-{context, stackmmap}.c: Set tests to non-implemented because uses
|
||||
swapcontext, musl provide the definition but not the implementation due
|
||||
to that functions are pre-POSIX and set to be deprecated.
|
||||
stress-{resources, pty}.c: Doesn't include termio.h and remove stress
|
||||
operations that uses struct termio, musl doesn't provide that struct.
|
||||
stress-pthread.c: Change pthread_yield to sched_yield to be more compatible.
|
||||
stress-malloc.c: Check for definition of M_MMAP_THRESHOLD musl doesn't
|
||||
ptovide that constant.
|
||||
stress-madvise.c: Add static poision_count integer, definition of
|
||||
MADV_SOFT_OFFLINE doesn't grauntee MADV_HWPOISON to be defined.
|
||||
cache.c: Define GLOB_ONLYDIR not available on MUSL.
|
||||
|
||||
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
cache.c | 4 ++++
|
||||
stress-context.c | 2 +-
|
||||
stress-madvise.c | 1 +
|
||||
stress-malloc.c | 2 +-
|
||||
stress-pthread.c | 2 +-
|
||||
stress-pty.c | 18 ------------------
|
||||
stress-resources.c | 1 -
|
||||
stress-stackmmap.c | 2 +-
|
||||
8 files changed, 9 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/cache.c b/cache.c
|
||||
index e01fad0..27870ee 100644
|
||||
--- a/cache.c
|
||||
+++ b/cache.c
|
||||
@@ -27,6 +27,10 @@ typedef struct {
|
||||
|
||||
#include <glob.h>
|
||||
|
||||
+#ifndef GLOB_ONLYDIR
|
||||
+#define GLOB_ONLYDIR 0x100
|
||||
+#endif
|
||||
+
|
||||
#if defined(__linux__)
|
||||
#define SYS_CPU_PREFIX "/sys/devices/system/cpu"
|
||||
#define GLOB_PATTERN SYS_CPU_PREFIX "/cpu[0-9]*"
|
||||
diff --git a/stress-context.c b/stress-context.c
|
||||
index c5f50ed..67209e5 100644
|
||||
--- a/stress-context.c
|
||||
+++ b/stress-context.c
|
||||
@@ -24,7 +24,7 @@
|
||||
*/
|
||||
#include "stress-ng.h"
|
||||
|
||||
-#if !defined(__OpenBSD__)
|
||||
+#if !defined(__OpenBSD__) && False
|
||||
|
||||
#include <ucontext.h>
|
||||
|
||||
diff --git a/stress-madvise.c b/stress-madvise.c
|
||||
index 43ea454..2e1f8ee 100644
|
||||
--- a/stress-madvise.c
|
||||
+++ b/stress-madvise.c
|
||||
@@ -141,6 +141,7 @@ static int stress_random_advise(const args_t *args)
|
||||
#if defined(MADV_SOFT_OFFLINE)
|
||||
if (advise == MADV_SOFT_OFFLINE) {
|
||||
static int soft_offline_count;
|
||||
+ static int poison_count;
|
||||
|
||||
/* ..and minimize number of soft offline pages */
|
||||
if ((soft_offline_count >= NUM_SOFT_OFFLINE_MAX) ||
|
||||
diff --git a/stress-malloc.c b/stress-malloc.c
|
||||
index 8dbe5cc..f505f32 100644
|
||||
--- a/stress-malloc.c
|
||||
+++ b/stress-malloc.c
|
||||
@@ -99,7 +99,7 @@ int stress_malloc(const args_t *args)
|
||||
malloc_max = MIN_MALLOC_MAX;
|
||||
}
|
||||
|
||||
-#if defined(__GNUC__) && defined(__linux__)
|
||||
+#if defined(__GNUC__) && defined(__linux__) && defined(M_MMAP_THRESHOLD)
|
||||
if (get_setting("malloc-threshold", &malloc_threshold))
|
||||
(void)mallopt(M_MMAP_THRESHOLD, (int)malloc_threshold);
|
||||
#endif
|
||||
diff --git a/stress-pthread.c b/stress-pthread.c
|
||||
index 323a1d4..8269f4c 100644
|
||||
--- a/stress-pthread.c
|
||||
+++ b/stress-pthread.c
|
||||
@@ -139,7 +139,7 @@ static void *stress_pthread_func(void *parg)
|
||||
break;
|
||||
}
|
||||
#if !defined(__NetBSD__) && !defined(__sun__)
|
||||
- (void)pthread_yield();
|
||||
+ (void)sched_yield();
|
||||
#endif
|
||||
}
|
||||
ret = pthread_mutex_unlock(&mutex);
|
||||
diff --git a/stress-pty.c b/stress-pty.c
|
||||
index 8c3edf8..518f118 100644
|
||||
--- a/stress-pty.c
|
||||
+++ b/stress-pty.c
|
||||
@@ -26,7 +26,6 @@
|
||||
|
||||
#if defined(__linux__)
|
||||
|
||||
-#include <termio.h>
|
||||
#include <termios.h>
|
||||
|
||||
typedef struct {
|
||||
@@ -108,7 +107,6 @@ int stress_pty(const args_t *args)
|
||||
*/
|
||||
for (i = 0; i < n; i++) {
|
||||
struct termios ios;
|
||||
- struct termio io;
|
||||
struct winsize ws;
|
||||
int arg;
|
||||
|
||||
@@ -130,22 +128,6 @@ int stress_pty(const args_t *args)
|
||||
if (ioctl(ptys[i].slave, TCSETSF, &ios) < 0)
|
||||
pr_fail_err("ioctl TCSETSF on slave pty");
|
||||
#endif
|
||||
-#if defined(TCGETA)
|
||||
- if (ioctl(ptys[i].slave, TCGETA, &io) < 0)
|
||||
- pr_fail_err("ioctl TCGETA on slave pty");
|
||||
-#endif
|
||||
-#if defined(TCSETA)
|
||||
- if (ioctl(ptys[i].slave, TCSETA, &io) < 0)
|
||||
- pr_fail_err("ioctl TCSETA on slave pty");
|
||||
-#endif
|
||||
-#if defined(TCSETAW)
|
||||
- if (ioctl(ptys[i].slave, TCSETAW, &io) < 0)
|
||||
- pr_fail_err("ioctl TCSETAW on slave pty");
|
||||
-#endif
|
||||
-#if defined(TCSETAF)
|
||||
- if (ioctl(ptys[i].slave, TCSETAF, &io) < 0)
|
||||
- pr_fail_err("ioctl TCSETAF on slave pty");
|
||||
-#endif
|
||||
#if defined(TIOCGLCKTRMIOS)
|
||||
if (ioctl(ptys[i].slave, TIOCGLCKTRMIOS, &ios) < 0)
|
||||
pr_fail_err("ioctl TIOCGLCKTRMIOS on slave pty");
|
||||
diff --git a/stress-resources.c b/stress-resources.c
|
||||
index 182e176..880433d 100644
|
||||
--- a/stress-resources.c
|
||||
+++ b/stress-resources.c
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <sys/inotify.h>
|
||||
#endif
|
||||
#if defined(__linux__)
|
||||
-#include <termio.h>
|
||||
#include <termios.h>
|
||||
#endif
|
||||
#if defined(HAVE_LIB_PTHREAD) && defined(__linux__)
|
||||
diff --git a/stress-stackmmap.c b/stress-stackmmap.c
|
||||
index e1378e2..00d1268 100644
|
||||
--- a/stress-stackmmap.c
|
||||
+++ b/stress-stackmmap.c
|
||||
@@ -24,7 +24,7 @@
|
||||
*/
|
||||
#include "stress-ng.h"
|
||||
|
||||
-#if defined(__linux__)
|
||||
+#if defined(__linux__) && False
|
||||
|
||||
#include <ucontext.h>
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "A tool to load and stress a computer system"
|
||||
HOMEPAGE = "http://kernel.ubuntu.com/~cking/stress-ng/"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
DEPENDS = "zlib libaio"
|
||||
|
||||
SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.gz \
|
||||
"
|
||||
SRC_URI_append_libc-musl = "file://0001-Several-changes-to-fix-musl-build.patch"
|
||||
|
||||
SRC_URI[md5sum] = "e0f6497a8c06f5d652bc2ad88d449c12"
|
||||
SRC_URI[sha256sum] = "37cc73e42f5bdb0e0571ba88f6a69b8f05ee28e51afcafc2231c1058b1a5dd18"
|
||||
|
||||
CFLAGS += "-Wall -Wextra -DVERSION='"$(VERSION)"'"
|
||||
|
||||
do_install_append() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 755 ${S}/stress-ng ${D}${bindir}/stress-ng
|
||||
}
|
||||
Reference in New Issue
Block a user