From: Angus Gratton Date: Wed, 13 Jun 2018 01:35:48 +0000 (+1000) Subject: esp32: Move esp_crosscore_isr_handle_yield() to IRAM X-Git-Tag: v3.1-beta1~25^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6442abdebba583a46bd0b2d4bec37c032b00d8c;p=esp-idf esp32: Move esp_crosscore_isr_handle_yield() to IRAM Also adds a hint to inline, as this is only called in one place it seems like a natural candidate... Closes https://github.com/espressif/esp-idf/issues/2055 --- diff --git a/components/esp32/crosscore_int.c b/components/esp32/crosscore_int.c index 9ccda1f824..18a5237b5a 100644 --- a/components/esp32/crosscore_int.c +++ b/components/esp32/crosscore_int.c @@ -44,7 +44,7 @@ static volatile uint32_t reason[ portNUM_PROCESSORS ]; ToDo: There is a small chance the CPU already has yielded when this ISR is serviced. In that case, it's running the intended task but the ISR will cause it to switch _away_ from it. portYIELD_FROM_ISR will probably just schedule the task again, but have to check that. */ -static void esp_crosscore_isr_handle_yield() +static inline void IRAM_ATTR esp_crosscore_isr_handle_yield() { portYIELD_FROM_ISR(); }