Ports: Update stress-ng port to 0.13.09

This change updates the port to the latest version, as part of that work
I basically reported the application, as we have added a lot of LibC
functionality which we were missing before. I've also updated the port
to mark stressor's we don't support as nops, instead of trying to avoid
compiling them at all. This will make the port much easier to maintain
in the future.
This commit is contained in:
Brian Gianforcaro 2021-12-28 00:04:46 -08:00 committed by Andreas Kling
parent 904ea56956
commit ec21edb602
Notes: sideshowbarker 2024-07-18 00:34:07 +09:00
22 changed files with 592 additions and 956 deletions

View file

@ -168,7 +168,7 @@ Please make sure to keep this list up to date when adding and updating ports. :^
| [`soltys`](soltys/) | Soltys | 1.0 | https://www.scummvm.org/games/#games-soltys |
| [`sqlite`](sqlite/) | SQLite | 3350500 | https://www.sqlite.org/ |
| [`stpuzzles`](stpuzzles/) | Simon Tatham's Portable Puzzle Collection | | https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ |
| [`stress-ng`](stress-ng/) | stress-ng | 0.11.23 | https://github.com/ColinIanKing/stress-ng |
| [`stress-ng`](stress-ng/) | stress-ng | 0.13.09 | https://github.com/ColinIanKing/stress-ng |
| [`Super-Mario`](Super-Mario/) | Super-Mario Clone | | https://github.com/Bennyhwanggggg/Super-Mario-Clone-Cpp |
| [`tuxracer`](tuxracer/) | Tux Racer | 0.61 | http://tuxracer.sourceforge.net/ |
| [`tcl`](tcl/) | Tcl | 8.6.11 | https://www.tcl-lang.org/ |

View file

@ -1,7 +1,7 @@
#!/usr/bin/env -S bash ../.port_include.sh
port=stress-ng
version=0.11.23
files="https://github.com/ColinIanKing/stress-ng/archive/V${version}.tar.gz stress-ng-${version}.tar.gz ffa1c516e3098a1d7ae6a4fd48c6fb41b8dfaabda22aaeebb569d24875870216"
version=0.13.09
files="https://github.com/ColinIanKing/stress-ng/archive/V${version}.tar.gz stress-ng-${version}.tar.gz 1b57f2864f562358cb75807c2dca7c13ddee3c94803282b22f75009311967c6c"
auth_type=sha256
depends=("zlib")

View file

@ -1,130 +0,0 @@
diff -ur stress-ng-master/Makefile stress-ng-master-2/Makefile
--- stress-ng-master/Makefile 2020-11-07 10:52:22.000000000 -0800
+++ stress-ng-master-2/Makefile 2020-11-08 23:36:28.587668500 -0800
@@ -21,7 +21,7 @@
# Codename "synthetic system strainer"
#
-CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -std=gnu99
+CFLAGS += -Wall -Wextra -DVERSION='"$(VERSION)"' -O2 -std=gnu99 -Wno-old-style-declaration
#
# Pedantic flags
@@ -89,7 +89,6 @@
stress-close.c \
stress-context.c \
stress-copy-file.c \
- stress-cpu.c \
stress-cpu-online.c \
stress-crypt.c \
stress-cyclic.c \
@@ -99,7 +98,6 @@
stress-dev.c \
stress-dev-shm.c \
stress-dir.c \
- stress-dirdeep.c \
stress-dnotify.c \
stress-dup.c \
stress-dynlib.c \
@@ -132,19 +130,16 @@
stress-hdd.c \
stress-heapsort.c \
stress-hrtimers.c \
- stress-hsearch.c \
stress-icache.c \
stress-icmp-flood.c \
stress-idle-page.c \
stress-inode-flags.c \
stress-inotify.c \
- stress-iomix.c \
stress-ioport.c \
stress-ioprio.c \
stress-iosync.c \
stress-io-uring.c \
stress-ipsec-mb.c \
- stress-itimer.c \
stress-judy.c \
stress-kcmp.c \
stress-key.c \
@@ -158,7 +153,6 @@
stress-lockofd.c \
stress-longjmp.c \
stress-loop.c \
- stress-lsearch.c \
stress-madvise.c \
stress-malloc.c \
stress-matrix.c \
@@ -222,22 +216,16 @@
stress-rename.c \
stress-resources.c \
stress-revio.c \
- stress-rlimit.c \
- stress-rmap.c \
stress-rtc.c \
stress-sctp.c \
- stress-schedpolicy.c \
stress-seal.c \
stress-seccomp.c \
stress-seek.c \
stress-sem.c \
- stress-sem-sysv.c \
stress-sendfile.c \
stress-session.c \
- stress-set.c \
stress-shellsort.c \
stress-shm.c \
- stress-shm-sysv.c \
stress-sigabrt.c \
stress-sigchld.c \
stress-sigfd.c \
@@ -257,7 +245,6 @@
stress-sockabuse.c \
stress-sockdiag.c \
stress-sockfd.c \
- stress-sockpair.c \
stress-sockmany.c \
stress-softlockup.c \
stress-spawn.c \
@@ -269,7 +256,6 @@
stress-swap.c \
stress-switch.c \
stress-sync-file.c \
- stress-sysbadaddr.c \
stress-sysinfo.c \
stress-sysinval.c \
stress-sysfs.c \
@@ -280,7 +266,6 @@
stress-tmpfs.c \
stress-tree.c \
stress-tsc.c \
- stress-tsearch.c \
stress-tun.c \
stress-udp.c \
stress-udp-flood.c \
@@ -288,11 +273,9 @@
stress-uprobe.c \
stress-urandom.c \
stress-userfaultfd.c \
- stress-utime.c \
stress-vdso.c \
stress-vecmath.c \
stress-verity.c \
- stress-vforkmany.c \
stress-vm.c \
stress-vm-addr.c \
stress-vm-rw.c \
@@ -474,12 +457,6 @@
./stress-ng --seq 0 -t 15 --pathological --verbose --times --tz --metrics
.PHONY: install
-install: stress-ng stress-ng.1.gz
+install: stress-ng
mkdir -p ${DESTDIR}${BINDIR}
cp stress-ng ${DESTDIR}${BINDIR}
- mkdir -p ${DESTDIR}${MANDIR}
- cp stress-ng.1.gz ${DESTDIR}${MANDIR}
- mkdir -p ${DESTDIR}${JOBDIR}
- cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
- mkdir -p ${DESTDIR}${BASHDIR}
- cp bash-completion/stress-ng ${DESTDIR}${BASHDIR}

View file

@ -0,0 +1,44 @@
From 5ce9746b2885d2a3da7f5dbe6c15de858b093188 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 20:53:47 -0800
Subject: [PATCH 01/14] serenity: Disable linux scheduler integration on
Serenity
Follow the path of other platforms, and make this code nop
when compiling for serenity.
---
core-sched.c | 3 ++-
stress-schedpolicy.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/core-sched.c b/core-sched.c
index a27d15a..65ebe8c 100644
--- a/core-sched.c
+++ b/core-sched.c
@@ -68,7 +68,8 @@ const char *stress_get_sched_name(const int sched)
#if (defined(_POSIX_PRIORITY_SCHEDULING) || defined(__linux__)) && \
!defined(__OpenBSD__) && \
!defined(__minix__) && \
- !defined(__APPLE__)
+ !defined(__APPLE__) && \
+ !defined(__serenity__)
static const char prefix[] = "sched";
diff --git a/stress-schedpolicy.c b/stress-schedpolicy.c
index ceaf535..3fdb74d 100644
--- a/stress-schedpolicy.c
+++ b/stress-schedpolicy.c
@@ -33,7 +33,8 @@ static const stress_help_t help[] = {
#if (defined(_POSIX_PRIORITY_SCHEDULING) || defined(__linux__)) && \
!defined(__OpenBSD__) && \
!defined(__minix__) && \
- !defined(__APPLE__)
+ !defined(__APPLE__) && \
+ !defined(__serenity__)
static const int policies[] = {
#if defined(SCHED_IDLE)
--
2.32.0

View file

@ -0,0 +1,117 @@
From d378b4416270a99b321689f759e29fb5c9126c1a Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 20:57:05 -0800
Subject: [PATCH 02/14] serenity: Disable itimer testing when compiling for
Serenity
The itimer APIs are not implemented in serenity, so just disable
these tests.
---
stress-itimer.c | 7 +++++++
stress-sysbadaddr.c | 14 ++++++++++++++
2 files changed, 21 insertions(+)
diff --git a/stress-itimer.c b/stress-itimer.c
index 7fa8cea..f4aee66 100644
--- a/stress-itimer.c
+++ b/stress-itimer.c
@@ -24,6 +24,7 @@
*/
#include "stress-ng.h"
+#ifndef __serenity__
static volatile uint64_t itimer_counter = 0;
static uint64_t max_ops;
static double rate_us;
@@ -218,3 +219,9 @@ stressor_info_t stress_itimer_info = {
.opt_set_funcs = opt_set_funcs,
.help = help
};
+#else
+stressor_info_t stress_itimer_info = {
+ .stressor = stress_not_implemented,
+ .class = CLASS_INTERRUPT | CLASS_OS,
+};
+#endif
diff --git a/stress-sysbadaddr.c b/stress-sysbadaddr.c
index b7abae5..8d0481b 100644
--- a/stress-sysbadaddr.c
+++ b/stress-sysbadaddr.c
@@ -344,10 +344,12 @@ static int bad_gethostname(void *addr)
}
#endif
+#ifndef __serenity__
static int bad_getitimer(void *addr)
{
return getitimer(ITIMER_PROF, (struct itimerval *)addr);
}
+#endif
static int bad_getpeername(void *addr)
{
@@ -639,11 +641,13 @@ static int bad_select(void *addr)
return ret;
}
+#ifndef __serenity__
static int bad_setitimer(void *addr)
{
return setitimer(ITIMER_PROF, (struct itimerval *)addr,
(struct itimerval *)inc_addr(addr, 1));
}
+#endif
static int bad_setrlimit(void *addr)
{
@@ -825,7 +829,10 @@ static stress_bad_syscall_t bad_syscalls[] = {
#if defined(HAVE_GETHOSTNAME)
bad_gethostname,
#endif
+
+#ifndef __serenity__
bad_getitimer,
+#endif
bad_getpeername,
bad_getrandom,
bad_getrlimit,
@@ -899,7 +906,10 @@ static stress_bad_syscall_t bad_syscalls[] = {
bad_sched_getaffinity,
#endif
bad_select,
+
+#ifndef __serenity__
bad_setitimer,
+#endif
bad_setrlimit,
bad_stat,
#if defined(HAVE_STATFS)
@@ -955,7 +965,9 @@ static inline int stress_do_syscall(
if (pid < 0) {
_exit(EXIT_NO_RESOURCE);
} else if (pid == 0) {
+#ifndef __serenity__
struct itimerval it;
+#endif
size_t i;
int ret;
@@ -978,6 +990,7 @@ static inline int stress_do_syscall(
stress_parent_died_alarm();
(void)sched_settings_apply(true);
+#ifndef __serenity__
/*
* Force abort if we take too long
*/
@@ -990,6 +1003,7 @@ static inline int stress_do_syscall(
args->name, errno, strerror(errno));
_exit(EXIT_NO_RESOURCE);
}
+#endif
ret = bad_syscall(addr);
if (ret < 0)
--
2.32.0

View file

@ -1,70 +0,0 @@
diff -ur stress-ng-master/core-helper.c stress-ng-master-2/core-helper.c
--- stress-ng-master/core-helper.c 2020-11-07 10:52:22.000000000 -0800
+++ stress-ng-master-2/core-helper.c 2020-11-08 23:17:03.777668500 -0800
@@ -1102,7 +1102,7 @@
*/
uint64_t stress_get_prime64(const uint64_t n)
{
- static uint p = 1009;
+ static uint64_t p = 1009;
if (n != p)
return p;
@@ -1149,6 +1149,9 @@
*/
size_t stress_get_file_limit(void)
{
+ /* Just return a constant for serenity */
+ return 65536;
+#if 0
struct rlimit rlim;
size_t i, opened = 0, max = 65536; /* initial guess */
@@ -1161,6 +1164,7 @@
opened++;
}
return max - opened;
+#endif
}
/*
diff -ur stress-ng-master/core-sched.c stress-ng-master-2/core-sched.c
--- stress-ng-master/core-sched.c 2020-11-07 10:52:22.000000000 -0800
+++ stress-ng-master-2/core-sched.c 2020-11-08 23:21:44.497668500 -0800
@@ -263,6 +263,7 @@
pr_dbg("%s: setting scheduler class '%s'\n", prefix, sched_name);
break;
}
+#if 0
rc = sched_setscheduler(pid, sched, &param);
if (rc < 0) {
rc = -errno;
@@ -273,6 +274,7 @@
errno, strerror(errno));
return rc;
}
+#endif
return 0;
}
#endif
diff -ur stress-ng-master/stress-chown.c stress-ng-master-2/stress-chown.c
--- stress-ng-master/stress-chown.c 2020-11-07 10:52:22.000000000 -0800
+++ stress-ng-master-2/stress-chown.c 2020-11-08 22:35:41.107668500 -0800
@@ -219,6 +219,9 @@
pr_fail("%s: chown %s failed, errno=%d (%s)\n",
args->name, filename, errno, strerror(errno));
}
+
+/* No lchown support in serenity */
+#if 0
ret = do_chown(lchown, filename, cap_chown, uid, gid);
if (ret < 0) {
if (ret == -ENOENT || ret == -ENOTDIR) {
@@ -233,6 +236,7 @@
pr_fail("%s: chown %s failed, errno=%d (%s)\n",
args->name, filename, errno, strerror(errno));
}
+#endif
inc_counter(args);
} while (keep_stressing());

View file

@ -0,0 +1,29 @@
From d28829e86cc1c8dff2c46fbeb3d4d1217fa4fd5c Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 20:58:41 -0800
Subject: [PATCH 03/14] serenity: Fix duplicate definition of ALWAYS_INLINE on
serenity
---
stress-ng.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/stress-ng.h b/stress-ng.h
index 73f549b..44f8bfa 100644
--- a/stress-ng.h
+++ b/stress-ng.h
@@ -1230,6 +1230,11 @@ typedef struct {
#define WEAK
#endif
+/* Serenity already defines this in sys/cdefs.h, just undefine it */
+#ifdef __serenity__
+ #undef ALWAYS_INLINE
+#endif
+
/* force inlining hint */
#if (defined(__GNUC__) && NEED_GNUC(3, 4, 0) \
&& ((!defined(__s390__) && !defined(__s390x__)) || NEED_GNUC(6, 0, 1))) || \
--
2.32.0

View file

@ -1,81 +0,0 @@
diff -ur a/stress-sock.c b/stress-sock.c
--- a/stress-sock.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-sock.c 2020-11-08 22:51:33.327668500 -0800
@@ -422,7 +422,7 @@
&cpu, &optlen);
}
#endif
- if (socket_domain == AF_INET || socket_domain == AF_INET6) {
+ if (socket_domain == AF_INET) {
int val, ret;
socklen_t optlen;
@@ -756,6 +756,8 @@
(void)close(sfd);
break;
}
+
+#if defined(SO_SNDBUF)
len = sizeof(sndbuf);
if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndbuf, &len) < 0) {
pr_fail("%s: getsockopt failed, errno=%d (%s)\n",
@@ -763,6 +765,8 @@
(void)close(sfd);
break;
}
+#endif
+
#if defined(SOL_TCP) && defined(TCP_QUICKACK)
{
int ret, one = 1;
diff -ur a/stress-sockabuse.c b/stress-sockabuse.c
--- a/stress-sockabuse.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-sockabuse.c 2020-11-08 22:52:27.297668500 -0800
@@ -278,6 +278,7 @@
(void)close(sfd);
break;
}
+#if defined(SO_SNDBUF)
len = sizeof(sndbuf);
if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndbuf, &len) < 0) {
pr_fail("%s: getsockopt failed, errno=%d (%s)\n",
@@ -285,6 +286,7 @@
(void)close(sfd);
break;
}
+#endif
(void)memset(buf, 'A' + (get_counter(args) % 26), sizeof(buf));
n = send(sfd, buf, sizeof(buf), 0);
diff -ur a/stress-sockmany.c b/stress-sockmany.c
--- a/stress-sockmany.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-sockmany.c 2020-11-08 22:53:06.247668500 -0800
@@ -221,6 +221,7 @@
(void)close(sfd);
break;
}
+#if defined(SO_SNDBUF)
len = sizeof(sndbuf);
if (getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndbuf, &len) < 0) {
pr_fail("%s: getsockopt failed, errno=%d (%s)\n",
@@ -228,6 +229,8 @@
(void)close(sfd);
break;
}
+#endif
+
#if defined(SOL_TCP) && defined(TCP_QUICKACK)
{
int ret, one = 1;
diff -ur a/stress-resources.c b/stress-resources.c
--- a/stress-resources.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-resources.c 2020-11-08 23:20:35.227668500 -0800
@@ -130,7 +130,7 @@
size_t i, n;
size_t shmall, freemem, totalmem, freeswap;
const pid_t pid = getpid();
- static const int domains[] = { AF_INET, AF_INET6 };
+ static const int domains[] = { AF_INET };
static const int types[] = { SOCK_STREAM, SOCK_DGRAM };
static stress_info_t info[MAX_LOOPS];
#if defined(O_NOATIME)

View file

@ -0,0 +1,32 @@
From c7856e765e893ff447b2309d06a55d0d06a70d02 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 20:59:35 -0800
Subject: [PATCH 04/14] serenity: ifdef out key_t type usage, which serenity
does not have
---
stress-ng.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/stress-ng.h b/stress-ng.h
index 44f8bfa..edaa2ce 100644
--- a/stress-ng.h
+++ b/stress-ng.h
@@ -2490,11 +2490,14 @@ typedef struct {
uint32_t futex[STRESS_PROCS_MAX]; /* Shared futexes */
uint64_t timeout[STRESS_PROCS_MAX]; /* Shared futex timeouts */
} futex;
+
+#ifndef __serenity__
struct {
key_t key_id; /* System V semaphore key id */
int sem_id; /* System V semaphore id */
bool init; /* System V semaphore initialized */
} sem_sysv;
+#endif
#if defined(STRESS_PERF_STATS)
struct {
bool no_perf; /* true = Perf not available */
--
2.32.0

View file

@ -1,43 +0,0 @@
diff -ur a/stress-str.c b/stress-str.c
--- a/stress-str.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-str.c 2020-11-08 22:55:55.887668500 -0800
@@ -597,8 +597,6 @@
{ "all", stress_str_all, NULL }, /* Special "all test */
#if defined(HAVE_STRINGS_H)
- { "index", stress_index, index },
- { "rindex", stress_rindex, rindex },
{ "strcasecmp", stress_strcasecmp, strcasecmp },
#endif
#if defined(HAVE_STRLCAT)
diff -ur a/stress-sigsegv.c b/stress-sigsegv.c
--- a/stress-sigsegv.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-sigsegv.c 2020-11-08 22:50:22.327668500 -0800
@@ -143,11 +143,13 @@
pr_fail("%s: expecting SIGSEGV/SIGILL/SIGBUS, got %s instead\n",
args->name, strsignal(signo));
}
+#if 0
if (verify && (signo == SIGBUS) && (code != SEGV_ACCERR)) {
pr_fail("%s: expecting SIGBUS si_code SEGV_ACCERR (%d), got %d instead\n",
args->name, SEGV_ACCERR, code);
}
#endif
+#endif
inc_counter(args);
} else {
#if defined(SA_SIGINFO)
diff -ur a/stress-mmapmany.c b/stress-mmapmany.c
--- a/stress-mmapmany.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-mmapmany.c 2020-11-08 22:47:27.567668500 -0800
@@ -35,7 +35,8 @@
static int stress_mmapmany_child(const stress_args_t *args, void *context)
{
const size_t page_size = args->page_size;
- ssize_t max = sysconf(_SC_MAPPED_FILES);
+ /* Just make up a constant for Serenity */
+ ssize_t max = 6400;
uint8_t **mappings;
max = STRESS_MAXIMUM(max, MMAP_MAX);
d

View file

@ -0,0 +1,36 @@
From 308c59d16757b935bc6ad7c369b80681fa879f80 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 21:01:59 -0800
Subject: [PATCH 05/14] serenity: Mark hsearch stressor as not implemented on
Serenity
---
stress-hsearch.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/stress-hsearch.c b/stress-hsearch.c
index 61c71a6..345a2ca 100644
--- a/stress-hsearch.c
+++ b/stress-hsearch.c
@@ -31,6 +31,7 @@ static const stress_help_t help[] = {
{ NULL, NULL, NULL }
};
+#ifndef __serenity__
/*
* stress_set_hsearch_size()
* set hsearch size from given option string
@@ -158,3 +159,10 @@ stressor_info_t stress_hsearch_info = {
.opt_set_funcs = opt_set_funcs,
.help = help
};
+#else
+stressor_info_t stress_hsearch_info = {
+ .stressor = stress_not_implemented,
+ .class = CLASS_CPU_CACHE | CLASS_CPU | CLASS_MEMORY,
+ .help = help
+};
+#endif
--
2.32.0

View file

@ -1,629 +0,0 @@
diff -ur a/stress-fork.c b/stress-fork.c
--- a/stress-fork.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-fork.c 2020-11-08 23:05:17.627668500 -0800
@@ -198,6 +198,7 @@
}
+#if 0
/*
* stress_vfork()
* stress by vforking and exiting
@@ -218,16 +219,13 @@
return stress_fork_fn(args, vfork, "vfork", vfork_max);
}
STRESS_PRAGMA_POP
+#endif
static const stress_opt_set_func_t fork_opt_set_funcs[] = {
{ OPT_fork_max, stress_set_fork_max },
{ 0, NULL }
};
-static const stress_opt_set_func_t vfork_opt_set_funcs[] = {
- { OPT_vfork_max, stress_set_vfork_max },
- { 0, NULL }
-};
stressor_info_t stress_fork_info = {
.stressor = stress_fork,
@@ -236,9 +234,16 @@
.help = fork_help
};
+#if 0
+static const stress_opt_set_func_t vfork_opt_set_funcs[] = {
+ { OPT_vfork_max, stress_set_vfork_max },
+ { 0, NULL }
+};
+
stressor_info_t stress_vfork_info = {
.stressor = stress_vfork,
.class = CLASS_SCHEDULER | CLASS_OS,
.opt_set_funcs = vfork_opt_set_funcs,
.help = vfork_help
};
+#endif
diff -ur a/stress-get.c b/stress-get.c
--- a/stress-get.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-get.c 2020-11-08 22:42:06.027668500 -0800
@@ -162,7 +162,9 @@
#endif
struct timeval tv;
struct timezone tz;
+#if 0
struct rlimit rlim;
+#endif
time_t t, t1, t2;
pid_t pid;
gid_t gid;
@@ -324,6 +326,8 @@
check_do_run();
}
#endif
+
+#if 0
/* Invalid getrlimit syscall and ignoring failure */
(void)getrlimit(INT_MAX, &rlim);
@@ -334,6 +338,7 @@
args->name, i, errno, strerror(errno));
check_do_run();
}
+#endif 0
#if defined(__NR_ugetrlimit)
/*
diff -ur a/stress-hdd.c b/stress-hdd.c
--- a/stress-hdd.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-hdd.c 2020-11-08 23:19:59.907668500 -0800
@@ -277,11 +277,11 @@
#endif
default:
/* 50% */
- return readv(fd, iov, HDD_IO_VEC_MAX);
+ break;
}
- } else {
- return read(fd, buf, count);
- }
+ }
+
+ return read(fd, buf, count);
}
diff -ur a/stress-ng.c b/stress-ng.c
--- a/stress-ng.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-ng.c 2020-11-08 23:29:08.447668500 -0800
@@ -321,10 +321,6 @@
{ "dir", 1, 0, OPT_dir },
{ "dir-ops", 1, 0, OPT_dir_ops },
{ "dir-dirs", 1, 0, OPT_dir_dirs },
- { "dirdeep", 1, 0, OPT_dirdeep },
- { "dirdeep-ops",1, 0, OPT_dirdeep_ops },
- { "dirdeep-dirs",1, 0, OPT_dirdeep_dirs },
- { "dirdeep-inodes",1, 0, OPT_dirdeep_inodes },
{ "dry-run", 0, 0, OPT_dry_run },
{ "dnotify", 1, 0, OPT_dnotify },
{ "dnotify-ops",1, 0, OPT_dnotify_ops },
@@ -409,9 +405,6 @@
{ "hrtimers", 1, 0, OPT_hrtimers },
{ "hrtimers-ops",1, 0, OPT_hrtimers_ops },
{ "help", 0, 0, OPT_help },
- { "hsearch", 1, 0, OPT_hsearch },
- { "hsearch-ops",1, 0, OPT_hsearch_ops },
- { "hsearch-size",1, 0, OPT_hsearch_size },
{ "icache", 1, 0, OPT_icache },
{ "icache-ops", 1, 0, OPT_icache_ops },
{ "icmp-flood", 1, 0, OPT_icmp_flood },
@@ -425,9 +418,6 @@
{ "inotify-ops",1, 0, OPT_inotify_ops },
{ "io", 1, 0, OPT_io },
{ "io-ops", 1, 0, OPT_io_ops },
- { "iomix", 1, 0, OPT_iomix },
- { "iomix-bytes",1, 0, OPT_iomix_bytes },
- { "iomix-ops", 1, 0, OPT_iomix_ops },
{ "ionice-class",1, 0, OPT_ionice_class },
{ "ionice-level",1, 0, OPT_ionice_level },
{ "ioport", 1, 0, OPT_ioport },
@@ -440,10 +430,6 @@
{ "ipsec-mb", 1, 0, OPT_ipsec_mb },
{ "ipsec-mb-ops",1, 0, OPT_ipsec_mb_ops },
{ "ipsec-mb-feature",1, 0, OPT_ipsec_mb_feature },
- { "itimer", 1, 0, OPT_itimer },
- { "itimer-ops", 1, 0, OPT_itimer_ops },
- { "itimer-freq",1, 0, OPT_itimer_freq },
- { "itimer-rand",0, 0, OPT_itimer_rand },
{ "job", 1, 0, OPT_job },
{ "judy", 1, 0, OPT_judy },
{ "judy-ops", 1, 0, OPT_judy_ops },
@@ -477,9 +463,6 @@
{ "longjmp-ops",1, 0, OPT_longjmp_ops },
{ "loop", 1, 0, OPT_loop },
{ "loop-ops", 1, 0, OPT_loop_ops },
- { "lsearch", 1, 0, OPT_lsearch },
- { "lsearch-ops",1, 0, OPT_lsearch_ops },
- { "lsearch-size",1, 0, OPT_lsearch_size },
{ "madvise", 1, 0, OPT_madvise },
{ "madvise-ops",1, 0, OPT_madvise_ops },
{ "malloc", 1, 0, OPT_malloc },
@@ -669,21 +652,14 @@
{ "revio-ops", 1, 0, OPT_revio_ops },
{ "revio-opts", 1, 0, OPT_revio_opts },
{ "revio-bytes",1, 0, OPT_revio_bytes },
- { "rlimit", 1, 0, OPT_rlimit },
- { "rlimit-ops", 1, 0, OPT_rlimit_ops },
- { "rmap", 1, 0, OPT_rmap },
- { "rmap-ops", 1, 0, OPT_rmap_ops },
{ "rtc", 1, 0, OPT_rtc },
{ "rtc-ops", 1, 0, OPT_rtc_ops },
{ "sched", 1, 0, OPT_sched },
{ "sched-prio", 1, 0, OPT_sched_prio },
- { "schedpolicy",1, 0, OPT_schedpolicy },
- { "schedpolicy-ops",1, 0, OPT_schedpolicy_ops },
{ "sched-period",1, 0, OPT_sched_period },
{ "sched-runtime",1, 0, OPT_sched_runtime },
{ "sched-deadline",1, 0, OPT_sched_deadline },
{ "sched-reclaim",0, 0, OPT_sched_reclaim },
- { "schedpolicy",1, 0, OPT_schedpolicy },
{ "sctp", 1, 0, OPT_sctp },
{ "sctp-ops", 1, 0, OPT_sctp_ops },
{ "sctp-domain",1, 0, OPT_sctp_domain },
@@ -699,17 +675,12 @@
{ "sem", 1, 0, OPT_sem },
{ "sem-ops", 1, 0, OPT_sem_ops },
{ "sem-procs", 1, 0, OPT_sem_procs },
- { "sem-sysv", 1, 0, OPT_sem_sysv },
- { "sem-sysv-ops",1, 0, OPT_sem_sysv_ops },
- { "sem-sysv-procs",1, 0, OPT_sem_sysv_procs },
{ "sendfile", 1, 0, OPT_sendfile },
{ "sendfile-ops",1, 0, OPT_sendfile_ops },
{ "sendfile-size",1, 0, OPT_sendfile_size },
{ "sequential", 1, 0, OPT_sequential },
{ "session", 1, 0, OPT_session },
{ "session-ops",1, 0, OPT_session_ops },
- { "set", 1, 0, OPT_set },
- { "set-ops", 1, 0, OPT_set_ops },
{ "shellsort", 1, 0, OPT_shellsort },
{ "shellsort-ops",1, 0, OPT_shellsort_ops },
{ "shellsort-size",1, 0, OPT_shellsort_integers },
@@ -717,10 +688,6 @@
{ "shm-ops", 1, 0, OPT_shm_ops },
{ "shm-bytes", 1, 0, OPT_shm_bytes },
{ "shm-objs", 1, 0, OPT_shm_objects },
- { "shm-sysv", 1, 0, OPT_shm_sysv },
- { "shm-sysv-ops",1, 0, OPT_shm_sysv_ops },
- { "shm-sysv-bytes",1, 0, OPT_shm_sysv_bytes },
- { "shm-sysv-segs",1, 0, OPT_shm_sysv_segments },
{ "sigabrt", 1, 0, OPT_sigabrt },
{ "sigabrt-ops",1, 0, OPT_sigabrt_ops },
{ "sigchld", 1, 0, OPT_sigchld },
@@ -769,8 +736,6 @@
{ "sockfd-port",1, 0, OPT_sockfd_port },
{ "sockmany", 1, 0, OPT_sockmany },
{ "sockmany-ops",1, 0, OPT_sockmany_ops },
- { "sockpair", 1, 0, OPT_sockpair },
- { "sockpair-ops",1, 0, OPT_sockpair_ops },
{ "softlockup", 1, 0, OPT_softlockup },
{ "softlockup-ops",1, 0, OPT_softlockup_ops },
{ "spawn", 1, 0, OPT_spawn },
@@ -802,8 +767,6 @@
{ "sync-file", 1, 0, OPT_sync_file },
{ "sync-file-ops", 1, 0, OPT_sync_file_ops },
{ "sync-file-bytes", 1, 0, OPT_sync_file_bytes },
- { "sysbadaddr", 1, 0, OPT_sysbadaddr },
- { "sysbadaddr-ops",1, 0, OPT_sysbadaddr_ops },
{ "sysfs", 1, 0, OPT_sysfs },
{ "sysfs-ops",1, 0, OPT_sysfs_ops },
{ "sysinfo", 1, 0, OPT_sysinfo },
@@ -839,9 +802,6 @@
{ "tree-size", 1, 0, OPT_tree_size },
{ "tsc", 1, 0, OPT_tsc },
{ "tsc-ops", 1, 0, OPT_tsc_ops },
- { "tsearch", 1, 0, OPT_tsearch },
- { "tsearch-ops",1, 0, OPT_tsearch_ops },
- { "tsearch-size",1, 0, OPT_tsearch_size },
{ "thrash", 0, 0, OPT_thrash },
{ "times", 0, 0, OPT_times },
{ "timestamp", 0, 0, OPT_timestamp },
@@ -866,9 +826,6 @@
{ "userfaultfd",1, 0, OPT_userfaultfd },
{ "userfaultfd-ops",1, 0, OPT_userfaultfd_ops },
{ "userfaultfd-bytes",1,0, OPT_userfaultfd_bytes },
- { "utime", 1, 0, OPT_utime },
- { "utime-ops", 1, 0, OPT_utime_ops },
- { "utime-fsync",0, 0, OPT_utime_fsync },
{ "vdso", 1, 0, OPT_vdso },
{ "vdso-ops", 1, 0, OPT_vdso_ops },
{ "vdso-func", 1, 0, OPT_vdso_func },
@@ -879,11 +836,6 @@
{ "verity", 1, 0, OPT_verity },
{ "verity-ops", 1, 0, OPT_verity_ops },
{ "version", 0, 0, OPT_version },
- { "vfork", 1, 0, OPT_vfork },
- { "vfork-ops", 1, 0, OPT_vfork_ops },
- { "vfork-max", 1, 0, OPT_vfork_max },
- { "vforkmany", 1, 0, OPT_vforkmany },
- { "vforkmany-ops", 1, 0, OPT_vforkmany_ops },
{ "vm", 1, 0, OPT_vm },
{ "vm-bytes", 1, 0, OPT_vm_bytes },
{ "vm-hang", 1, 0, OPT_vm_hang },
@@ -2964,6 +2916,7 @@
*/
static inline void stress_mlock_executable(void)
{
+#if 0
#if defined(MLOCKED_SECTION)
extern void *__start_mlocked_text;
extern void *__stop_mlocked_text;
@@ -2973,6 +2926,7 @@
stress_mlock_region(&__start_mlocked_text, &__stop_mlocked_text);
stress_mlock_region(&__start_mlocked_data, &__stop_mlocked_data);
#endif
+#endif
}
int main(int argc, char **argv, char **envp)
diff -ur a/stress-ng.h b/stress-ng.h
--- a/stress-ng.h 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-ng.h 2020-11-08 23:25:40.027668500 -0800
@@ -56,7 +56,6 @@
#include <math.h>
#include <pwd.h>
#include <sched.h>
-#include <search.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
@@ -1092,6 +1092,7 @@
#define PACKED
#endif
+#undef ALWAYS_INLINE
/* force inlining hint */
#if defined(__GNUC__) && NEED_GNUC(3,4,0) /* or possibly earlier */ \
&& ((!defined(__s390__) && !defined(__s390x__)) || NEED_GNUC(6,0,1))
@@ -2230,7 +2221,6 @@
uint64_t timeout[STRESS_PROCS_MAX]; /* Shared futex timeouts */
} futex;
struct {
- key_t key_id; /* System V semaphore key id */
int sem_id; /* System V semaphore id */
bool init; /* System V semaphore initialized */
} sem_sysv;
@@ -2288,7 +2278,6 @@
MACRO(close) \
MACRO(context) \
MACRO(copy_file) \
- MACRO(cpu) \
MACRO(cpu_online) \
MACRO(crypt) \
MACRO(cyclic) \
@@ -2298,7 +2287,6 @@
MACRO(dev) \
MACRO(dev_shm) \
MACRO(dir) \
- MACRO(dirdeep) \
MACRO(dnotify) \
MACRO(dup) \
MACRO(dynlib) \
@@ -2331,19 +2319,16 @@
MACRO(hdd) \
MACRO(heapsort) \
MACRO(hrtimers) \
- MACRO(hsearch) \
MACRO(icache) \
MACRO(icmp_flood) \
MACRO(idle_page) \
MACRO(inode_flags) \
MACRO(inotify) \
MACRO(io) \
- MACRO(iomix) \
MACRO(ioport) \
MACRO(ioprio) \
MACRO(io_uring) \
MACRO(ipsec_mb) \
- MACRO(itimer) \
MACRO(judy) \
MACRO(kcmp) \
MACRO(key) \
@@ -2357,7 +2342,6 @@
MACRO(lockofd) \
MACRO(longjmp) \
MACRO(loop) \
- MACRO(lsearch) \
MACRO(madvise) \
MACRO(malloc) \
MACRO(matrix) \
@@ -2421,22 +2405,16 @@
MACRO(rename) \
MACRO(resources) \
MACRO(revio) \
- MACRO(rlimit) \
- MACRO(rmap) \
MACRO(rtc) \
- MACRO(schedpolicy) \
MACRO(sctp) \
MACRO(seal) \
MACRO(seccomp) \
MACRO(seek) \
MACRO(sem) \
- MACRO(sem_sysv) \
MACRO(sendfile) \
MACRO(session) \
- MACRO(set) \
MACRO(shellsort) \
MACRO(shm) \
- MACRO(shm_sysv) \
MACRO(sigabrt) \
MACRO(sigchld) \
MACRO(sigfd) \
@@ -2456,7 +2434,6 @@
MACRO(sockabuse) \
MACRO(sockdiag) \
MACRO(sockfd) \
- MACRO(sockpair) \
MACRO(sockmany) \
MACRO(softlockup) \
MACRO(spawn) \
@@ -2469,7 +2446,6 @@
MACRO(switch) \
MACRO(symlink) \
MACRO(sync_file) \
- MACRO(sysbadaddr) \
MACRO(sysinfo) \
MACRO(sysinval) \
MACRO(sysfs) \
@@ -2480,7 +2456,6 @@
MACRO(tmpfs) \
MACRO(tree) \
MACRO(tsc) \
- MACRO(tsearch) \
MACRO(tun) \
MACRO(udp) \
MACRO(udp_flood) \
@@ -2488,12 +2463,9 @@
MACRO(uprobe) \
MACRO(urandom) \
MACRO(userfaultfd) \
- MACRO(utime) \
MACRO(vdso) \
MACRO(vecmath) \
MACRO(verity) \
- MACRO(vfork) \
- MACRO(vforkmany) \
MACRO(vm) \
MACRO(vm_addr) \
MACRO(vm_rw) \
@@ -2709,11 +2681,6 @@
OPT_dir_ops,
OPT_dir_dirs,
- OPT_dirdeep,
- OPT_dirdeep_ops,
- OPT_dirdeep_dirs,
- OPT_dirdeep_inodes,
-
OPT_dnotify,
OPT_dnotify_ops,
@@ -2825,10 +2792,6 @@
OPT_hrtimers,
OPT_hrtimers_ops,
- OPT_hsearch,
- OPT_hsearch_ops,
- OPT_hsearch_size,
-
OPT_icache,
OPT_icache_ops,
@@ -2846,10 +2809,6 @@
OPT_inotify,
OPT_inotify_ops,
- OPT_iomix,
- OPT_iomix_bytes,
- OPT_iomix_ops,
-
OPT_ioport,
OPT_ioport_ops,
OPT_ioport_opts,
@@ -2869,11 +2828,6 @@
OPT_ipsec_mb_ops,
OPT_ipsec_mb_feature,
- OPT_itimer,
- OPT_itimer_ops,
- OPT_itimer_freq,
- OPT_itimer_rand,
-
OPT_judy,
OPT_judy_ops,
OPT_judy_size,
@@ -2919,10 +2873,6 @@
OPT_loop,
OPT_loop_ops,
- OPT_lsearch,
- OPT_lsearch_ops,
- OPT_lsearch_size,
-
OPT_madvise,
OPT_madvise_ops,
@@ -3170,9 +3120,6 @@
OPT_revio_opts,
OPT_revio_bytes,
- OPT_rlimit,
- OPT_rlimit_ops,
-
OPT_rmap,
OPT_rmap_ops,
@@ -3182,9 +3129,6 @@
OPT_sched,
OPT_sched_prio,
- OPT_schedpolicy,
- OPT_schedpolicy_ops,
-
OPT_sched_period,
OPT_sched_runtime,
OPT_sched_deadline,
@@ -3214,16 +3158,9 @@
OPT_sem_ops,
OPT_sem_procs,
- OPT_sem_sysv,
- OPT_sem_sysv_ops,
- OPT_sem_sysv_procs,
-
OPT_session,
OPT_session_ops,
- OPT_set,
- OPT_set_ops,
-
OPT_shellsort,
OPT_shellsort_ops,
OPT_shellsort_integers,
@@ -3233,11 +3170,6 @@
OPT_shm_bytes,
OPT_shm_objects,
- OPT_shm_sysv,
- OPT_shm_sysv_ops,
- OPT_shm_sysv_bytes,
- OPT_shm_sysv_segments,
-
OPT_sequential,
OPT_sigabrt,
@@ -3307,9 +3239,6 @@
OPT_sockmany,
OPT_sockmany_ops,
- OPT_sockpair,
- OPT_sockpair_ops,
-
OPT_softlockup,
OPT_softlockup_ops,
@@ -3352,9 +3281,6 @@
OPT_sync_file_ops,
OPT_sync_file_bytes,
- OPT_sysbadaddr,
- OPT_sysbadaddr_ops,
-
OPT_sysinfo,
OPT_sysinfo_ops,
@@ -3408,10 +3334,6 @@
OPT_tsc,
OPT_tsc_ops,
- OPT_tsearch,
- OPT_tsearch_ops,
- OPT_tsearch_size,
-
OPT_tun,
OPT_tun_ops,
OPT_tun_tap,
@@ -3438,10 +3360,6 @@
OPT_userfaultfd_ops,
OPT_userfaultfd_bytes,
- OPT_utime,
- OPT_utime_ops,
- OPT_utime_fsync,
-
OPT_vdso,
OPT_vdso_ops,
OPT_vdso_func,
@@ -3454,13 +3372,6 @@
OPT_verity,
OPT_verity_ops,
- OPT_vfork,
- OPT_vfork_ops,
- OPT_vfork_max,
-
- OPT_vforkmany,
- OPT_vforkmany_ops,
-
OPT_vm_bytes,
OPT_vm_hang,
OPT_vm_keep,
iff -ur a/stress-schedpolicy.c b/stress-schedpolicy.c
--- a/stress-schedpolicy.c 2020-11-07 10:52:22.000000000 -0800
+++ b/stress-schedpolicy.c 2020-11-08 23:22:11.257668500 -0800
@@ -117,7 +117,9 @@
case SCHED_OTHER:
#endif
param.sched_priority = 0;
+#if 0
ret = sched_setscheduler(pid, new_policy, &param);
+#endif
break;
#if defined(SCHED_RR)
case SCHED_RR:
diff -Naur stress-ng-0.11.23/core-net.c stress-ng-0.11.23.serenity/core-net.c
--- stress-ng-0.11.23/core-net.c 2021-04-13 03:20:49.389317525 +0200
+++ stress-ng-0.11.23.serenity/core-net.c 2021-04-13 03:21:42.786948162 +0200
@@ -114,6 +114,7 @@
break;
}
#endif
+#ifndef __serenity__
#if defined(AF_INET6)
case AF_INET6: {
static struct sockaddr_in6 addr;
@@ -138,6 +139,7 @@
break;
}
#endif
+#endif
#if defined(AF_UNIX)
case AF_UNIX: {
static struct sockaddr_un addr;
@@ -176,6 +178,7 @@
break;
}
#endif
+#ifndef __serenity__
#if defined(AF_INET6)
case AF_INET6: {
struct sockaddr_in6 *addr = (struct sockaddr_in6 *)sockaddr;
@@ -183,6 +186,7 @@
break;
}
#endif
+#endif
#if defined(AF_UNIX)
case AF_UNIX:
break;
diff -Naur stress-ng-0.11.23/stress-zlib.c stress-ng-0.11.23.serenity/stress-zlib.c
--- stress-ng-0.11.23/stress-zlib.c 2021-04-13 03:29:29.112182330 +0200
+++ stress-ng-0.11.23.serenity/stress-zlib.c 2021-04-13 03:28:52.128162386 +0200
@@ -698,14 +698,14 @@
register int i;
if (UNLIKELY(!seeded)) {
- srand48(stress_mwc32());
+ srand(stress_mwc32());
seeded = true;
}
(void)args;
for (i = 0; i < n; i++, data++)
- *data = lrand48();
+ *data = rand();
}
/*

View file

@ -0,0 +1,41 @@
From 1c2a6348c19fa42e45c43a73b34c37db83391d5c Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:28:58 -0800
Subject: [PATCH 06/14] serenity: Disable lchown() calls from sysbadaddr
stressor on Serenity
Serenity doesn't have an lchown implementation yet.
---
stress-sysbadaddr.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/stress-sysbadaddr.c b/stress-sysbadaddr.c
index 8d0481b..18166f3 100644
--- a/stress-sysbadaddr.c
+++ b/stress-sysbadaddr.c
@@ -424,10 +424,12 @@ static int bad_ioctl(void *addr)
}
#endif
+#ifndef __serenity__
static int bad_lchown(void *addr)
{
return lchown((char *)addr, getuid(), getgid());
}
+#endif
static int bad_link(void *addr)
{
@@ -856,7 +858,9 @@ static stress_bad_syscall_t bad_syscalls[] = {
#if defined(TCGETS)
bad_ioctl,
#endif
+#ifndef __serenity__
bad_lchown,
+#endif
bad_link,
bad_lstat,
#if defined(HAVE_MADVISE)
--
2.32.0

View file

@ -0,0 +1,32 @@
From 08258d635aa54ad755a05757b14b047ae9754e0f Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:30:03 -0800
Subject: [PATCH 07/14] serenity: Disable signal code validation for Serenity
We don't currently have a definition for SEGV_ACCERR, so
this validation is meaningless for SerenityOS.
---
stress-sigsegv.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/stress-sigsegv.c b/stress-sigsegv.c
index 18b1ca6..e6bdf17 100644
--- a/stress-sigsegv.c
+++ b/stress-sigsegv.c
@@ -196,10 +196,13 @@ static int stress_sigsegv(const stress_args_t *args)
pr_fail("%s: expecting SIGSEGV/SIGILL/SIGBUS, got %s instead\n",
args->name, strsignal(signo));
}
+
+#if !defined(__serenity__)
if (verify && (signo == SIGBUS) && (code != SEGV_ACCERR)) {
pr_fail("%s: expecting SIGBUS si_code SEGV_ACCERR (%d), got %d instead\n",
args->name, SEGV_ACCERR, code);
}
+#endif
#endif
inc_counter(args);
} else {
--
2.32.0

View file

@ -0,0 +1,35 @@
From 1903b9e5ddae07c13c56f6b7e85a0629450d2b6d Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:37:23 -0800
Subject: [PATCH 08/14] serenity: Disable lchown() calls in stress-chown
stressor for SerenityOS
Serenity doesn't have an lchown implementation, so compile it out.
---
stress-chown.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/stress-chown.c b/stress-chown.c
index 5d53806..caefd90 100644
--- a/stress-chown.c
+++ b/stress-chown.c
@@ -221,6 +221,8 @@ static int stress_chown(const stress_args_t *args)
pr_fail("%s: chown %s failed, errno=%d (%s)\n",
args->name, filename, errno, strerror(errno));
}
+
+#ifndef __serenity__
ret = do_chown(lchown, filename, cap_chown, uid, gid);
if (ret < 0) {
if ((ret == -ENOENT) || (ret == -ENOTDIR)) {
@@ -235,6 +237,7 @@ static int stress_chown(const stress_args_t *args)
pr_fail("%s: chown %s failed, errno=%d (%s)\n",
args->name, filename, errno, strerror(errno));
}
+#endif
inc_counter(args);
} while (keep_stressing(args));
--
2.32.0

View file

@ -0,0 +1,32 @@
From 950c136f14b983717963d5b5ae647ca3aebddd01 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:38:11 -0800
Subject: [PATCH 09/14] serenity: Add a empty O_NDELAY symbol so the dev
stressor will compile
Serenity doesn't yet support O_NDELAY, so just make it compile by making
the definition 0, so the bitmask will be meaningless.
---
stress-dev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/stress-dev.c b/stress-dev.c
index 1fab38e..9ab1b31 100644
--- a/stress-dev.c
+++ b/stress-dev.c
@@ -24,6 +24,12 @@
*/
#include "stress-ng.h"
+#ifdef __serenity__
+ /* Serenity doesn't yet support O_NDELAY, so just make it compile */
+ #define O_NDELAY (0)
+#endif
+
+
static const stress_help_t help[] = {
{ NULL, "dev N", "start N device entry thrashing stressors" },
{ NULL, "dev-ops N", "stop after N device thrashing bogo ops" },
--
2.32.0

View file

@ -0,0 +1,44 @@
From 2742eeb0aca33560354de125fb7af3cbe986b414 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:46:44 -0800
Subject: [PATCH 10/14] serenity: Disable rand48 cpu stressor, it's not
implemented for Serenity
---
stress-cpu.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/stress-cpu.c b/stress-cpu.c
index 81dd882..b3a586d 100644
--- a/stress-cpu.c
+++ b/stress-cpu.c
@@ -611,6 +611,7 @@ static void HOT OPTIMIZE3 stress_cpu_rand(const char *name)
"pseudo-random values\n", name);
}
+#if !defined(__serenity__)
/*
* stress_cpu_rand48()
* generate random values using rand48 family of functions
@@ -631,6 +632,7 @@ static void HOT OPTIMIZE3 stress_cpu_rand48(const char *name)
stress_double_put(d);
stress_uint64_put((uint64_t)l);
}
+#endif
/*
* stress_cpu_lfsr32()
@@ -3190,7 +3192,10 @@ static const stress_cpu_method_info_t cpu_methods[] = {
{ "psi", stress_cpu_psi },
{ "queens", stress_cpu_queens },
{ "rand", stress_cpu_rand },
+
+#if !defined(__serenity__)
{ "rand48", stress_cpu_rand48 },
+#endif
{ "rgb", stress_cpu_rgb },
{ "sdbm", stress_cpu_sdbm },
{ "sieve", stress_cpu_sieve },
--
2.32.0

View file

@ -0,0 +1,36 @@
From 176c9d8becd0ea0469a9d75df46a78ae913acd33 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:47:22 -0800
Subject: [PATCH 11/14] serenity: Make lsearch stressor a nop on Serenity
---
stress-lsearch.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/stress-lsearch.c b/stress-lsearch.c
index 60174a2..74a9ef9 100644
--- a/stress-lsearch.c
+++ b/stress-lsearch.c
@@ -31,6 +31,8 @@ static const stress_help_t help[] = {
{ NULL, NULL, NULL }
};
+#if !defined(__serenity__)
+
/*
* stress_set_lsearch_size()
* set lsearch size from given option string
@@ -129,3 +131,10 @@ stressor_info_t stress_lsearch_info = {
.opt_set_funcs = opt_set_funcs,
.help = help
};
+#else
+stressor_info_t stress_lsearch_info = {
+ .stressor = stress_not_implemented,
+ .class = CLASS_CPU_CACHE | CLASS_CPU | CLASS_MEMORY,
+ .help = help
+};
+#endif
--
2.32.0

View file

@ -0,0 +1,31 @@
From 190c38897e6d8827f9cd6960e2b8e1f4f3d0cb40 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:47:45 -0800
Subject: [PATCH 12/14] serenity: Fake O_SYNC for serenity so iomix stressor
compiles
Serenity doesn't yet support O_SYNC, so just make it compile.
---
stress-iomix.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/stress-iomix.c b/stress-iomix.c
index edf90f0..54176f8 100644
--- a/stress-iomix.c
+++ b/stress-iomix.c
@@ -25,6 +25,12 @@
*/
#include "stress-ng.h"
+#ifdef __serenity__
+ /* Serenity doesn't yet support O_SYNC, so just make it compile */
+ #define O_SYNC (0)
+#endif
+
+
typedef void (*stress_iomix_func)(const stress_args_t *args, const int fd, const off_t iomix_bytes);
static const stress_help_t help[] = {
--
2.32.0

View file

@ -0,0 +1,53 @@
From 2db39e274a4dcdc5d4a892371ce5aba45e91c187 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:48:49 -0800
Subject: [PATCH 13/14] serenity: Disable lrand48 zlib stress, it is not
implemented for Serenity
---
stress-zlib.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/stress-zlib.c b/stress-zlib.c
index dbe5758..95c65f5 100644
--- a/stress-zlib.c
+++ b/stress-zlib.c
@@ -696,6 +696,7 @@ static void stress_rand_data_lfsr32(
}
}
+#if !defined(__serenity__)
/*
* stress_rand_data_lrand48()
* fills buffer with random data from lrand48
@@ -719,6 +720,7 @@ static void stress_rand_data_lrand48(
while (ptr < end)
*(ptr++) = lrand48();
}
+#endif
/*
* stress_rand_data_latin()
@@ -883,7 +885,9 @@ static const stress_zlib_rand_data_func rand_data_funcs[] = {
stress_rand_data_fixed,
stress_rand_data_gray,
stress_rand_data_latin,
+#if !defined(__serenity__)
stress_rand_data_lrand48,
+#endif
stress_rand_data_nybble,
stress_rand_data_objcode,
stress_rand_data_parity,
@@ -926,7 +930,9 @@ static const stress_zlib_rand_data_info_t zlib_rand_data_methods[] = {
{ "latin", stress_rand_data_latin },
{ "logmap", stress_rand_data_logmap },
{ "lfsr32", stress_rand_data_lfsr32 },
+#if !defined(__serenity__)
{ "lrand48", stress_rand_data_lrand48 },
+#endif
{ "morse", stress_rand_data_morse },
{ "nybble", stress_rand_data_nybble },
{ "objcode", stress_rand_data_objcode },
--
2.32.0

View file

@ -0,0 +1,27 @@
From 6583316ac6b13a131dc111ac8a8db2049f2f1cd2 Mon Sep 17 00:00:00 2001
From: Brian Gianforcaro <b.gianfo@gmail.com>
Date: Mon, 27 Dec 2021 23:49:39 -0800
Subject: [PATCH 14/14] serenity: Fix stress_get_prime64 variable type, uint ->
uint64_t
Serenity doesn't have a definition for unit.
---
core-helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core-helper.c b/core-helper.c
index 8215c56..bb2b018 100644
--- a/core-helper.c
+++ b/core-helper.c
@@ -1334,7 +1334,7 @@ bool stress_is_prime64(const uint64_t n)
*/
uint64_t stress_get_prime64(const uint64_t n)
{
- static uint p = 1009;
+ static uint64_t p = 1009;
if (n != p)
return p;
--
2.32.0