1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/core
Koen Zandberg ab1d0b6f98
sched: Reverse runqueue order when CLZ is available
This commit reverses the runqueue_cache bit order when the architecture
has a CLZ (count leading zeros) instruction. When the architecture
supports CLZ, it is faster to determine the most significant set bit of
a word than to determine the least significant bit set. Unfortunately
when the instruction is not available, it is more efficient to determine
the least significant bit set.

Reversing the bit order shaves off another 4 cycles on the same54-xpro.
From 147 to 143 ticks when testing with tests/bench_sched_nop.
Architectures where no CLZ instruction is available are not affected.
2020-08-06 20:39:14 +02:00
..
include Merge pull request #14698 from benpicco/core/bitarithm-msb_clz 2020-08-06 13:00:34 +02:00
assert.c core: Fix assert printf format string 2017-02-16 17:11:22 +01:00
atomic_c11.c core/atomic_c11: fix I2 typedef for 16bit platforms 2020-08-05 14:32:57 +02:00
atomic_sync.c core: disable uncrustify for atomic_*.c 2020-03-30 17:00:32 +02:00
bitarithm.c core/bitarithm: use __builtin_clz() for bitarithm_msb() 2020-08-04 17:50:09 +02:00
clist.c add copyrights from IOTPUSH project 2019-05-02 12:09:37 +02:00
cond.c core: uncrustify 2020-03-30 17:02:08 +02:00
doc.txt core/doc: fix alignment 2020-04-21 15:10:56 +02:00
init.c core/init: make boot message configurable 2020-07-28 11:04:55 +02:00
lifo.c core: uncrustify 2020-03-30 17:02:08 +02:00
Makefile core/msg: add message bus 2020-04-28 13:35:05 +02:00
mbox.c core: uncrustify 2020-03-30 17:02:08 +02:00
msg_bus.c core/msg: add message bus 2020-04-28 13:35:05 +02:00
msg.c core/msg: sched_threads[sched_active_pid] -> sched_active_thread 2020-08-06 12:46:26 +02:00
mutex.c core: uncrustify 2020-03-30 17:02:08 +02:00
panic.c core/panic: launch USB bootloader for easy recovery 2020-07-01 20:36:59 +02:00
priority_queue.c core: uncrustify 2020-03-30 17:02:08 +02:00
ringbuffer.c core: uncrustify 2020-03-30 17:02:08 +02:00
rmutex.c core: uncrustify 2020-03-30 17:02:08 +02:00
sched.c sched: Reverse runqueue order when CLZ is available 2020-08-06 20:39:14 +02:00
thread_flags.c core: uncrustify 2020-03-30 17:02:08 +02:00
thread.c core/thread: Make thread_get inlineable 2020-08-05 10:51:16 +02:00