diff options
Diffstat (limited to 'poky/meta/recipes-extended/stress-ng')
3 files changed, 107 insertions, 37 deletions
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch new file mode 100644 index 0000000000..d275e3d7f9 --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch @@ -0,0 +1,103 @@ +From f839de283c44ffe46a2d14bfdf854c145abd8ed6 Mon Sep 17 00:00:00 2001 +From: Colin Ian King <colin.king@canonical.com> +Date: Mon, 19 Jul 2021 20:49:34 +0100 +Subject: [PATCH] Detemine minimal stack size via sysconf, then PTHREAD_STACK_MIN then guess + +Don't rely on PTHREAD_STACK_MIN being defined, use sysconf, then +PTHREAD_STACK_MIN if it is defined, then 8K default. + +Upstream-Status: Backport [https://kernel.ubuntu.com/git/cking/stress-ng.git/commit/?id=f839de283c44ffe46a2d14bfdf854c145abd8ed6] +Signed-off-by: Colin Ian King <colin.king@canonical.com> +--- + core-helper.c | 31 +++++++++++++++++++++++++++++++ + stress-ng.h | 1 + + stress-pthread.c | 13 ++----------- + 3 files changed, 34 insertions(+), 11 deletions(-) + +diff --git a/core-helper.c b/core-helper.c +index 508627f2..97a3b869 100644 +--- a/core-helper.c ++++ b/core-helper.c +@@ -2494,6 +2494,37 @@ size_t stress_min_sig_stack_size(void) + return (size_t)sz; + } + ++size_t stress_min_pthread_stack_size(void) ++{ ++ static long sz = -1, min; ++ ++ /* return cached copy */ ++ if (sz > 0) ++ return sz; ++ ++ min = stress_min_aux_sig_stack_size(); ++#if defined(__SC_THREAD_STACK_MIN_VALUE) ++ sz = sysconf(__SC_THREAD_STACK_MIN_VALUE); ++ if (sz > min) ++ min = sz; ++#endif ++#if defined(_SC_THREAD_STACK_MIN_VALUE) ++ sz = sysconf(_SC_THREAD_STACK_MIN_VALUE); ++ if (sz > min) ++ min = sz; ++#endif ++#if defined(PTHREAD_STACK_MIN) ++ if (PTHREAD_STACK_MIN > min) ++ min = PTHREAD_STACK_MIN; ++#endif ++ if (8192 > min) ++ min = 8192; ++ ++ sz = min; ++ ++ return (size_t)sz; ++} ++ + /* + * stress_sig_handler_exit() + * signal handler that exits a process via _exit(0) for +diff --git a/stress-ng.h b/stress-ng.h +index 8a8b17ae..cd744756 100644 +--- a/stress-ng.h ++++ b/stress-ng.h +@@ -4056,6 +4056,7 @@ extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str); + /* Misc helper funcs */ + extern WARN_UNUSED size_t stress_sig_stack_size(void); + extern WARN_UNUSED size_t stress_min_sig_stack_size(void); ++extern WARN_UNUSED size_t stress_min_pthread_stack_size(void); + + #define STRESS_SIGSTKSZ (stress_sig_stack_size()) + #define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size()) +diff --git a/stress-pthread.c b/stress-pthread.c +index 0da3aeec..27777af8 100644 +--- a/stress-pthread.c ++++ b/stress-pthread.c +@@ -69,12 +69,7 @@ static const stress_opt_set_func_t opt_set_funcs[] = { + + #if defined(HAVE_LIB_PTHREAD) + +-/* Some systems such as GNU/HURD don't define PTHREAD_STACK_MIN */ +-#if !defined(PTHREAD_STACK_MIN) +-#define PTHREAD_STACK_MIN (16 * KB) +-#endif +- +-#define DEFAULT_STACK_MIN (16 * KB) ++#define DEFAULT_STACK_MIN (8 * KB) + + #if defined(HAVE_GET_ROBUST_LIST) && \ + defined(HAVE_LINUX_FUTEX_H) +@@ -404,11 +399,7 @@ static int stress_pthread(const stress_args_t *args) + stress_pthread_args_t pargs = { args, NULL, 0 }; + sigset_t set; + #if defined(HAVE_PTHREAD_ATTR_SETSTACK) +-#if DEFAULT_STACK_MIN == PTHREAD_STACK_MIN +- const size_t stack_size = PTHREAD_STACK_MIN; +-#else +- const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, PTHREAD_STACK_MIN); +-#endif ++ const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, stress_min_pthread_stack_size()); + #endif + + keep_running_flag = true; +-- +2.32.0 diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch deleted file mode 100644 index dba4494b91..0000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/no_daddr_t.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 55e11765af2bdc8adfac87dab1fb2682f7e6c236 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 9 Jun 2020 22:10:28 -0700 -Subject: [PATCH] Define daddr_t if __DADDR_T_TYPE is not defined - -glibc defined daddr_t but musl does not, ideally it should not be used -and simple int type is enough. However, its better to leave glibc behavior -as it is and only define it to int if daddr_t is not provided by libc - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- - stress-ng.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/stress-ng.h b/stress-ng.h -index 1a66293..802dc25 100644 ---- a/stress-ng.h -+++ b/stress-ng.h -@@ -3763,6 +3763,10 @@ struct shim_statx { - uint64_t __spare2[14]; - }; - -+#ifndef __DADDR_T_TYPE -+typedef int daddr_t; -+#endif -+ - /* old ustat struct */ - struct shim_ustat { - #if defined(HAVE_DADDR_T) diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb index 97eaa75d18..afc9ddf96c 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb @@ -7,16 +7,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ - file://no_daddr_t.patch \ + file://0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch \ " SRC_URI[sha256sum] = "f27af50f6f2308e707fef927674bdd209a046b116734281b792aeca35a4e4499" DEPENDS = "coreutils-native" PROVIDES = "stress" -RPROVIDES_${PN} = "stress" -RREPLACES_${PN} = "stress" -RCONFLICTS_${PN} = "stress" +RPROVIDES:${PN} = "stress" +RREPLACES:${PN} = "stress" +RCONFLICTS:${PN} = "stress" inherit bash-completion @@ -24,4 +24,3 @@ do_install() { oe_runmake DESTDIR=${D} install ln -s stress-ng ${D}${bindir}/stress } - |