-
Notifications
You must be signed in to change notification settings - Fork 1.5k
sched/signals: add support to partially or fully disable signals #17644
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
acassis
merged 19 commits into
apache:master
from
wangchdo:add_all_partial_signal_disabling
Jan 18, 2026
Merged
sched/signals: add support to partially or fully disable signals #17644
acassis
merged 19 commits into
apache:master
from
wangchdo:add_all_partial_signal_disabling
Jan 18, 2026
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
|
@Fix-Point please help to review |
Contributor
|
but we need add CONFIG_ENABLE_ALL_SIGNALS to the related defconfig without wating apache/nuttx-apps#3333 |
dd17060 to
ce9d18b
Compare
Contributor
Author
OK, I added defconfig update |
ce9d18b to
8a84f7a
Compare
xiaoxiang781216
previously approved these changes
Jan 16, 2026
8a84f7a to
4605df9
Compare
4605df9 to
26e1090
Compare
xiaoxiang781216
previously approved these changes
Jan 17, 2026
26e1090 to
f2e64a1
Compare
Contributor
|
@wangchdo I think you need to refresh these board profiles: |
Enable CONFIG_ENABLE_ALL_SIGNAL to fix build errors Signed-off-by: Chengdong Wang <[email protected]>
f2e64a1 to
43ee2fb
Compare
Contributor
Author
OK, refreshed |
xiaoxiang781216
approved these changes
Jan 18, 2026
acassis
approved these changes
Jan 18, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Arch: arm
Issues related to ARM (32-bit) architecture
Arch: arm64
Issues related to ARM64 (64-bit) architecture
Arch: avr
Issues related to all AVR(8-bit or 32-bit) architectures
Arch: mips
Issues related to the MIPS architecture
Arch: openrisc
Issues related to the OpenRISC architecture
Arch: renesas
Issues related to the Renesas chips
Arch: risc-v
Issues related to the RISC-V (32-bit or 64-bit) architecture
Arch: simulator
Issues related to the SIMulator
Arch: sparc
Issues related to the SPARC architecture
Arch: tricore
Issues related to the TriCore architecture from Infineon
Arch: x86
Issues related to the x86 architecture
Arch: x86_64
Issues related to the x86_64 architecture
Arch: xtensa
Issues related to the Xtensa architecture
Arch: z16
Issues related to the Z16 architecture
Arch: z80
Issues related to the Z80 architecture
Area: Drivers
Drivers issues
Area: File System
File System issues
Area: OS Components
OS Components issues
Board: arm
Board: risc-v
Size: L
The size of the change in this PR is large
Size: M
The size of the change in this PR is medium
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Signals in NuttX serve two primary purposes:
Synchronization and wake-up
Signals can be used to block threads on specific signal sets and later wake them up by delivering the corresponding signals to those threads.
Asynchronous notification
Signals can also be used to register callback handlers for specific signals, allowing threads to asynchronously invoke those handlers when the signals are delivered.
The PR #17357 Introduced the ability to disable only the synchronization and wake-up functionality of signals, while retaining part of the signal infrastructure. This allows moderate memory savings and performance improvements.
The PR #17352 Introduced the ability to completely disable all signal functionality, providing more aggressive memory reduction and performance optimization.
This PR consolidates the above two efforts and introduces a unified mechanism that supports both:
Partial signal disablement: disabling only asynchronous notification while retaining synchronization and wake-up functionality.
Full signal disablement: disabling both synchronization / wake-up and asynchronous notification functionality.
This consolidation enables finer-grained control over signal usage, allowing system integrators to better balance functionality, memory footprint, and performance for different use cases.
Impact
Provide configuration to fully or partially disable signals, should have no impact to exist nuttx functions if
the configuration is not enabled
this PR depends on apache/nuttx-apps#3333 to fix build dependency issues when signals are partially or fully disabled.
Testing
Below tests depend on apache/nuttx-apps#3333
ostest passed on rv-virt:smp64 when CONFIG_ENABLE_PARTIAL_SIGNALS=y