mbed-os/rtos
Kevin Bracey 0d12800b9f wait_us optimization
As the timer code became more generic, coping with initialization on
demand, and variable width and speed us_ticker_api implementations,
wait_us has gradually gotten slower and slower.

Some platforms have reportedly seen overhead of wait_us() increase from
10µs to 30µs. These changes should fully reverse that drop, and even
make it better than ever.

Add fast paths for platforms that provide compile-time information about
us_ticker. Speed and code size is improved further if:

* Timer has >= 2^32 microsecond range, or better still is 32-bit 1MHz.
* Platform implements us_ticker_read() as a macro
* Timer is initialised at boot, rather than first use

The latter initialisation option is the default for STM, as this has
always been the case.
2019-07-11 11:40:54 +01:00
..
TARGET_CORTEX wait_us optimization 2019-07-11 11:40:54 +01:00
ConditionVariable.cpp Introduce Semaphore::acquire methods 2019-05-28 17:02:06 +03:00
ConditionVariable.h rtos: fix coding style 2018-11-15 07:20:12 +00:00
EventFlags.cpp RTOS API: minor tidies 2019-03-18 17:27:07 +02:00
EventFlags.h Change EventFlag timeout paramter 2019-02-20 17:52:28 -06:00
Kernel.cpp RTOS: Add required header file and namespace element instead add all 2018-10-15 10:39:41 -05:00
Kernel.h Edit Kernel.h 2018-10-30 10:25:25 -05:00
LICENSE-mit.txt rtos: add license information 2019-04-16 11:26:39 +01:00
LICENSE.md license: fix files list 2019-04-16 11:43:14 +01:00
Mail.h Mail/MemoryPool: blocking alloc 2019-03-26 14:12:59 +02:00
MemoryPool.h mem pool size: Fix calculation of memory pool size for portability 2019-07-11 11:40:53 +01:00
Mutex.cpp Change "aplication" to "application" 2019-05-13 17:59:03 -04:00
Mutex.h Change EventFlag timeout paramter 2019-02-20 17:52:28 -06:00
Queue.h RTOS API: minor tidies 2019-03-18 17:27:07 +02:00
RtosTimer.cpp RTOS API: minor tidies 2019-03-18 17:27:07 +02:00
RtosTimer.h Fix typos in RTOS doxygen. 2018-11-01 15:46:40 -05:00
Semaphore.cpp Introduce Semaphore::acquire methods 2019-05-28 17:02:06 +03:00
Semaphore.h Introduce Semaphore::acquire methods 2019-05-28 17:02:06 +03:00
ThisThread.cpp Added get_name function to ThisThread namespace 2018-12-05 08:39:29 +01:00
ThisThread.h Change EventFlag timeout paramter 2019-02-20 17:52:28 -06:00
Thread.cpp Introduce Semaphore::acquire methods 2019-05-28 17:02:06 +03:00
Thread.h Change EventFlag timeout paramter 2019-02-20 17:52:28 -06:00
mbed_lib.json Allow target or application level definition of extra TICKLESS stack size 2019-07-11 11:40:53 +01:00
rtos.h mbed.h includes removed 2018-12-28 14:36:10 +02:00
rtos_handlers.h Add ThisThread 2018-08-28 13:25:17 +03:00
rtos_idle.h Merge pull request #8328 from kjbracey-arm/noreturn 2018-10-29 20:49:54 -05:00