mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
45badf864f
Previously, IDF FreeRTOS would restrict the clean up of task memory (done by vTaskDelete() or the Idle task) to only tasks pinned to the current core or unpinned tasks. This was due to the need to clear the task's coprocessor ownership on the other core (i.e., "_xt_coproc_owner_sa"). But this restriction can be lifted by simply protecting access of "_xt_coproc_owner_sa" with a spinlock. This commit implements a "_xt_coproc_owner_sa_lock" to protect the access of "_xt_coproc_owner_sa", thus vTaskDelete() and prvDeleteTCB() can now delete tasks pinned to the other core so long as that task is not currently running. Note: This fix was copied from the Xtensa port of Amazon SMP FreeRTOS |
||
---|---|---|
.. | ||
include/freertos | ||
port.c | ||
portasm.S | ||
readme_xtensa.txt | ||
xt_asm_utils.h | ||
xtensa_context.S | ||
xtensa_init.c | ||
xtensa_loadstore_handler.S | ||
xtensa_overlay_os_hook.c | ||
xtensa_vector_defaults.S | ||
xtensa_vectors.S |