mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-20 20:56:01 -04:00
ffeffcd315
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 |
||
---|---|---|
.. | ||
hwcrypto | ||
rom | ||
soc | ||
xtensa | ||
esp_attr.h | ||
esp_brownout.h | ||
esp_crosscore_int.h | ||
esp_deepsleep.h | ||
esp_err.h | ||
esp_event_loop.h | ||
esp_event.h | ||
esp_flash_data_types.h | ||
esp_gdbstub.h | ||
esp_heap_alloc_caps.h | ||
esp_int_wdt.h | ||
esp_intr.h | ||
esp_ipc.h | ||
esp_panic.h | ||
esp_smartconfig.h | ||
esp_ssc.h | ||
esp_system.h | ||
esp_task_wdt.h | ||
esp_task.h | ||
esp_types.h | ||
esp_wifi_internal.h | ||
esp_wifi_types.h | ||
esp_wifi.h | ||
heap_alloc_caps.h |