From: Denys Dmytriyenko <denis@denix.org>
To: "Aníbal Limón" <limon.anibal@gmail.com>
Cc: "Aníbal Limón" <anibal.limon@linaro.org>,
openembedded-devel@lists.openembedded.org
Subject: Re: [PATCHv3] meta-oe/recipes-test: Add stress-ng recipe
Date: Tue, 17 Oct 2017 14:12:53 -0400 [thread overview]
Message-ID: <20171017181253.GG9221@denix.org> (raw)
In-Reply-To: <20171017164439.19667-1-limon.anibal@gmail.com>
Not very critical, but you lost my SoB in v2 of the recipe. Not the musl
patch, which is completely yours though.
On Tue, Oct 17, 2017 at 11:44:39AM -0500, Aníbal Limón wrote:
> From: Aníbal Limón <anibal.limon@linaro.org>
>
> 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>
> ---
> .../0001-Several-changes-to-fix-musl-build.patch | 170 +++++++++++++++++++++
> .../recipes-test/stress-ng/stress-ng_0.08.17.bb | 20 +++
> 2 files changed, 190 insertions(+)
> create mode 100644 meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
> create mode 100644 meta-oe/recipes-test/stress-ng/stress-ng_0.08.17.bb
>
> diff --git a/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
> new file mode 100644
> index 000000000..3ed7efc7e
> --- /dev/null
> +++ b/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
> @@ -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
> +
> diff --git a/meta-oe/recipes-test/stress-ng/stress-ng_0.08.17.bb b/meta-oe/recipes-test/stress-ng/stress-ng_0.08.17.bb
> new file mode 100644
> index 000000000..dc5b2e8eb
> --- /dev/null
> +++ b/meta-oe/recipes-test/stress-ng/stress-ng_0.08.17.bb
> @@ -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
> +}
> --
> 2.11.0
>
prev parent reply other threads:[~2017-10-17 18:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-17 16:44 [PATCHv3] meta-oe/recipes-test: Add stress-ng recipe Aníbal Limón
2017-10-17 18:12 ` Denys Dmytriyenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171017181253.GG9221@denix.org \
--to=denis@denix.org \
--cc=anibal.limon@linaro.org \
--cc=limon.anibal@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox