Skip to content

stress-ng: reduce downstream patches#29969

Open
commodo wants to merge 2 commits into
openwrt:masterfrom
commodo:stress-ng
Open

stress-ng: reduce downstream patches#29969
commodo wants to merge 2 commits into
openwrt:masterfrom
commodo:stress-ng

Conversation

@commodo

@commodo commodo commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

📦 Package Details

Maintainer: me

Description:

Remove atomics patch. Fix libatomic

Backport ColinIanKing/stress-ng#638
And add Kconfig symbols to tweak build


🧪 Run Testing Details

  • OpenWrt Version:
  • OpenWrt Target/Subtarget:
  • OpenWrt Device:

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

@vortexilation

Copy link
Copy Markdown
Contributor

Getting :

tmp/.config-package.in:148730:error: recursive dependency detected!
tmp/.config-package.in:148730:  symbol PACKAGE_stress-ng depends on STRESS_NG_LIB_SCTP
feeds/packages/utils/stress-ng/Config.in:47:    symbol STRESS_NG_LIB_SCTP depends on PACKAGE_stress-ng
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

commodo added 2 commits July 11, 2026 19:35
Drop 002-disable-atomics-mips-and-ppc.patch. It papered over link errors for
64-bit atomics on MIPS and PPC, which happen because stress-ng strips -latomic
whenever $(CC) matches "musl-gcc" -- as our cross toolchains do. Pass
LIB_ATOMIC=-latomic instead; libatomic is already in DEPENDS. Its stress-fractal
hunk was in any case dead since upstream 24c30b7fa narrowed the row counter back
to int32_t, which MIPS32 and PPC32 increment atomically inline.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Backport upstream e0c4d324a, which lets a LIB_* variable be emptied to skip
that library's check. Drop 001-disable-extra-stressors.patch, which hardcoded
the same choice, and drive it from a Config.in menu instead. Defaults keep the
previously built set of stressors: only crypt, aio, bsd, jpeg, kmod, sctp and
zlib are probed. apparmor, EGL, GBM, GLES2, IPSec_MB and Judy have no OpenWrt
package, so they are never probed. Drop the backport once it is in a release.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
@commodo

commodo commented Jul 11, 2026

Copy link
Copy Markdown
Contributor Author

Getting :

tmp/.config-package.in:148730:error: recursive dependency detected!
tmp/.config-package.in:148730:  symbol PACKAGE_stress-ng depends on STRESS_NG_LIB_SCTP
feeds/packages/utils/stress-ng/Config.in:47:    symbol STRESS_NG_LIB_SCTP depends on PACKAGE_stress-ng
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

thanks
hopefully it's fixed now;

@vortexilation

Copy link
Copy Markdown
Contributor

Confirm fixed, thanks.

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 new commits; no new issues found. The LIB_* gating is complete — all 23 entries in the upstream libraries target are accounted for (14 driven by Config.in/STRESS_NG_LIBS, 5 explicitly emptied, 4 system libs always probed), and LIB_ATOMIC is handled separately. The recursive-dependency error raised in the comments is already resolved at head. One readability nit inline.


Generated by Claude Code

Comment thread utils/stress-ng/Makefile
Comment on lines +61 to +69

# No OpenWrt package provides these, so never probe for them
MAKE_FLAGS += \
KERNEL=Linux
KERNEL=Linux \
LIB_ATOMIC=-latomic \
LIB_EGL= \
LIB_GBM= \
LIB_GLES2= \
LIB_IPSEC_MB= \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: the comment "never probe for them" sits directly above KERNEL=Linux and LIB_ATOMIC=-latomic, but neither is a never-probed library — LIB_ATOMIC is in fact being linked (-latomic), the opposite of what the comment says. Splitting the block so the comment only covers the emptied LIB_* entries reads more clearly:

Suggested change
# No OpenWrt package provides these, so never probe for them
MAKE_FLAGS += \
KERNEL=Linux
KERNEL=Linux \
LIB_ATOMIC=-latomic \
LIB_EGL= \
LIB_GBM= \
LIB_GLES2= \
LIB_IPSEC_MB= \
MAKE_FLAGS += \
KERNEL=Linux \
LIB_ATOMIC=-latomic
# No OpenWrt package provides these, so never probe for them
MAKE_FLAGS += \
LIB_EGL= \
LIB_GBM= \
LIB_GLES2= \
LIB_IPSEC_MB= \
LIB_JUDY=

Generated by Claude Code

Comment on lines +1 to +8
From e0c4d324a0f0006fa090b8370989a03ecb28e334 Mon Sep 17 00:00:00 2001
From: Alexandru Ardelean <alex@shruggie.ro>
Date: Thu, 9 Jul 2026 17:41:34 +0300
Subject: [PATCH] Makefile.config: allow external library checks to be
disabled

Emptying a LIB_* variable now skips the check, so builds can opt out of
stressors that pull in external library dependencies.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see commit was applied to upstream - ColinIanKing/stress-ng@e0c4d32

Good job! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants