OVMS3-idf/components/freertos/include/freertos
Jeroen Domburg ffeffcd315 Merge branch 'feature/crosscore_int' into 'master'
Add cross-core int to accelerate task being awoken from another CPU.

This adds a per-CPU interrupt that can be used to poke the CPU to go do something. In this case all that is implemented is a request to yield the current task, used in case a CPU unblocks a task that runs on another CPU. This gets rid of the limitation that inter-CPU communication using queues, muxes etc can take up to a FreeRTOS tick to happen.

Specs!
Sending an in in a queue of length 1 (essentially a semaphore) as quickly as possible (just a small delay in the sender, to make sure the receiver task gets swapped out) for 10 seconds. Number indicates the amount of ints transferred

Old code:

CPU0->CPU0: 42986

CPU0->CPU1,: 2999

New code:

CPU0->CPU0: 42868

CPU0->CPU1: 62073

See merge request !155
2016-10-31 11:04:28 +08:00
..
croutine.h Initial public version 2016-08-17 23:08:22 +08:00
deprecated_definitions.h Initial public version 2016-08-17 23:08:22 +08:00
event_groups.h Initial public version 2016-08-17 23:08:22 +08:00
FreeRTOS.h Backport the static allocation feature from FreeRTOS V9.0.0 2016-09-22 13:41:21 +08:00
FreeRTOSConfig.h Merge branch 'feature/crosscore_int' into 'master' 2016-10-31 11:04:28 +08:00
heap_regions.h Initial public version 2016-08-17 23:08:22 +08:00
heap_regions_debug.h FreeRTOS: temporary solution for memory canaries and memory debug 2016-09-07 21:52:24 +08:00
list.h Initial public version 2016-08-17 23:08:22 +08:00
mpu_wrappers.h Initial public version 2016-08-17 23:08:22 +08:00
portable.h Merge latest master in 2016-10-27 16:18:55 +08:00
portbenchmark.h Initial public version 2016-08-17 23:08:22 +08:00
portmacro.h Change inline to static inline functions. Ref Github issue 62. 2016-10-27 09:17:04 +08:00
porttrace.h Initial public version 2016-08-17 23:08:22 +08:00
projdefs.h Initial public version 2016-08-17 23:08:22 +08:00
queue.h Backport the static allocation feature from FreeRTOS V9.0.0 2016-09-22 13:41:21 +08:00
ringbuf.h Add ringbuf.c. This works like a FreeRTOS queue, but allows for variable-length items which in some cases is more memory efficient than a queue. 2016-09-28 12:43:35 +08:00
semphr.h Backport the static allocation feature from FreeRTOS V9.0.0 2016-09-22 13:41:21 +08:00
StackMacros.h Initial public version 2016-08-17 23:08:22 +08:00
task.h Merge branch 'feature/wdts' into 'master' 2016-10-27 17:09:35 +08:00
timers.h Initial public version 2016-08-17 23:08:22 +08:00
xtensa_api.h Initial public version 2016-08-17 23:08:22 +08:00
xtensa_config.h Initial public version 2016-08-17 23:08:22 +08:00
xtensa_context.h Optimize xPortGetCoreID to 2-instruction inline assembly. 2016-10-17 18:09:15 +08:00
xtensa_rtos.h Initial public version 2016-08-17 23:08:22 +08:00
xtensa_timer.h Initial public version 2016-08-17 23:08:22 +08:00