mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Add default core affinity config value. (#996)
* Add default core affinity config value. --------- Co-authored-by: Anubhav Rawal <rawalexe@amazon.com>
This commit is contained in:
parent
4d34700bcc
commit
e68975fcf7
|
@ -496,6 +496,15 @@
|
||||||
* run any task on any available core. */
|
* run any task on any available core. */
|
||||||
#define configUSE_CORE_AFFINITY 0
|
#define configUSE_CORE_AFFINITY 0
|
||||||
|
|
||||||
|
/* When using SMP with core affinity feature enabled, set
|
||||||
|
* configTASK_DEFAULT_CORE_AFFINITY to change the default core affinity mask for
|
||||||
|
* tasks created without an affinity mask specified. Setting the define to 1 would
|
||||||
|
* make such tasks run on core 0 and setting it to (1 << portGET_CORE_ID()) would
|
||||||
|
* make such tasks run on the current core. This config value is useful, if
|
||||||
|
* swapping tasks between cores is not supported (e.g. Tricore) or if legacy code
|
||||||
|
* should be controlled. Defaults to tskNO_AFFINITY if left undefined. */
|
||||||
|
#define configTASK_DEFAULT_CORE_AFFINITY tskNO_AFFINITY
|
||||||
|
|
||||||
/* When using SMP (i.e. configNUMBER_OF_CORES is greater than one), if
|
/* When using SMP (i.e. configNUMBER_OF_CORES is greater than one), if
|
||||||
* configUSE_TASK_PREEMPTION_DISABLE is set to 1, individual tasks can be set to
|
* configUSE_TASK_PREEMPTION_DISABLE is set to 1, individual tasks can be set to
|
||||||
* either pre-emptive or co-operative mode using the vTaskPreemptionDisable and
|
* either pre-emptive or co-operative mode using the vTaskPreemptionDisable and
|
||||||
|
|
|
@ -484,6 +484,12 @@
|
||||||
#define configUSE_CORE_AFFINITY 0
|
#define configUSE_CORE_AFFINITY 0
|
||||||
#endif /* configUSE_CORE_AFFINITY */
|
#endif /* configUSE_CORE_AFFINITY */
|
||||||
|
|
||||||
|
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
||||||
|
#ifndef configTASK_DEFAULT_CORE_AFFINITY
|
||||||
|
#define configTASK_DEFAULT_CORE_AFFINITY tskNO_AFFINITY
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef configUSE_PASSIVE_IDLE_HOOK
|
#ifndef configUSE_PASSIVE_IDLE_HOOK
|
||||||
#define configUSE_PASSIVE_IDLE_HOOK 0
|
#define configUSE_PASSIVE_IDLE_HOOK 0
|
||||||
#endif /* configUSE_PASSIVE_IDLE_HOOK */
|
#endif /* configUSE_PASSIVE_IDLE_HOOK */
|
||||||
|
|
8
tasks.c
8
tasks.c
|
@ -1325,7 +1325,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
||||||
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
||||||
{
|
{
|
||||||
/* Set the task's affinity before scheduling it. */
|
/* Set the task's affinity before scheduling it. */
|
||||||
pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
|
pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1442,7 +1442,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
||||||
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
||||||
{
|
{
|
||||||
/* Set the task's affinity before scheduling it. */
|
/* Set the task's affinity before scheduling it. */
|
||||||
pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
|
pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1560,7 +1560,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
||||||
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
||||||
{
|
{
|
||||||
/* Set the task's affinity before scheduling it. */
|
/* Set the task's affinity before scheduling it. */
|
||||||
pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
|
pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
|
||||||
}
|
}
|
||||||
#endif /* #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) */
|
#endif /* #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) ) */
|
||||||
|
|
||||||
|
@ -1733,7 +1733,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
|
||||||
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
#if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
|
||||||
{
|
{
|
||||||
/* Set the task's affinity before scheduling it. */
|
/* Set the task's affinity before scheduling it. */
|
||||||
pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
|
pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue