freertos: Inline vPortCPUAcquireMutex/vPortCPUReleaseMutex into implementations

Further improves performance:
No contention -> 134 cycles
Recursion -> 117 cycles
Contention -> 323 cycles
This commit is contained in:
Angus Gratton
2017-02-16 16:56:06 +11:00
committed by Angus Gratton
parent db58a2732b
commit 5c996a1b29
4 changed files with 149 additions and 116 deletions

View File

@@ -199,8 +199,6 @@ void vPortCPUInitializeMutex(portMUX_TYPE *mux);
#ifdef CONFIG_FREERTOS_PORTMUX_DEBUG
void vPortCPUAcquireMutex(portMUX_TYPE *mux, const char *function, int line);
portBASE_TYPE vPortCPUReleaseMutex(portMUX_TYPE *mux, const char *function, int line);
void vPortCPUAcquireMutexIntsDisabled(portMUX_TYPE *mux, const char *function, int line);
portBASE_TYPE vPortCPUReleaseMutexIntsDisabled(portMUX_TYPE *mux, const char *function, int line);
void vTaskEnterCritical( portMUX_TYPE *mux, const char *function, int line );
void vTaskExitCritical( portMUX_TYPE *mux, const char *function, int line );
#define portENTER_CRITICAL(mux) vTaskEnterCritical(mux, __FUNCTION__, __LINE__)
@@ -212,8 +210,6 @@ void vTaskExitCritical( portMUX_TYPE *mux );
void vTaskEnterCritical( portMUX_TYPE *mux );
void vPortCPUAcquireMutex(portMUX_TYPE *mux);
void vPortCPUReleaseMutex(portMUX_TYPE *mux);
void vPortCPUAcquireMutexIntsDisabled(portMUX_TYPE *mux);
void vPortCPUReleaseMutexIntsDisabled(portMUX_TYPE *mux);
#define portENTER_CRITICAL(mux) vTaskEnterCritical(mux)
#define portEXIT_CRITICAL(mux) vTaskExitCritical(mux)