mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -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 |
||
---|---|---|
.. | ||
bootloader | ||
bt | ||
driver | ||
esp32 | ||
esptool_py | ||
expat | ||
freertos | ||
idf_test | ||
json | ||
log | ||
lwip | ||
mbedtls | ||
newlib | ||
nghttp | ||
nvs_flash | ||
partition_table | ||
spi_flash | ||
tcpip_adapter | ||
vfs | ||
xtensa-debug-module |