[riot-notifications] [RIOT-OS/RIOT] core/thread: Allow for inline thread_yield_higher (#15788)
notifications at github.com
Mon Jan 18 17:17:42 CET 2021
### Contribution description
This PR modifies `core/include/thread.h` to allow for inlining the `thread_yield_higher` function similar to the irq api. Patches for the relevant CPUs have been included to either add the `thread_arch.h` header with the inlined function or as dummy header.
Initial benchmarks show that this shaves of 13 cycles from the `bench_thread_yield_pingpong` test on the nrf52dk board.
TODO: add headers for arm7, esp8266 and msp430.
### Testing procedure
- Benchmarks: TODO
- The threading tests must still work on all affected platforms.
I can run the tests for the cortex-m and the RISC-V platform myself, but I could use some help with the mips32r2 (pic32-wifire or similar) platform.
### Issues/PRs references
You can view, comment on, or merge this pull request online at:
-- Commit Summary --
* core/thread: Allow for inline thread_yield_higher
* cpu/avr8_common: Add dummy thread_arch.h header
* cpu/cortexm_common: Inline thread_yield_higher function
* cpu/fe310: Inline thread_yield_higher function
* cpu/mips32r2_common: Inline thread_yield_higher function
-- File Changes --
M core/include/thread.h (11)
A cpu/avr8_common/include/thread_arch.h (33)
A cpu/cortexm_common/include/thread_arch.h (49)
M cpu/cortexm_common/thread_arch.c (10)
A cpu/fe310/include/thread_arch.h (57)
M cpu/fe310/thread_arch.c (18)
A cpu/mips32r2_common/include/thread_arch.h (51)
M cpu/mips32r2_common/thread_arch.c (12)
-- Patch Links --
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications