Skip to content

Conversation

@n9wxu
Copy link
Contributor

@n9wxu n9wxu commented May 12, 2021

Description

This change adds static allocation for all tasks. It also creates an idle task for each core. The first idle task is the same as the legacy idle task and performs housekeeping and calls the vApplicationIdleHook() function. The remaining idle tasks are very light and only call taskYield if needed.

If static allocation is enabled, the first idle task will call the task allocator just like it has always done. But each additional idle task will have the minimum stack memory (configMINIMAL_STACK_SIZE) statically allocated from within the start scheduler function.

Test Steps

This was tested with the XMOS port with 1, 3 and 7 cores active.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@n9wxu n9wxu requested a review from a team as a code owner May 12, 2021 20:45
@n9wxu
Copy link
Contributor Author

n9wxu commented May 13, 2021

/bot run checks

@n9wxu n9wxu merged commit ec943bc into FreeRTOS:smp May 13, 2021
laroche pushed a commit to laroche/FreeRTOS-Kernel that referenced this pull request Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants