mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01: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. */
 | 
			
		||||
#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
 | 
			
		||||
 * 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
 | 
			
		||||
 | 
			
		||||
@ -484,6 +484,12 @@
 | 
			
		||||
    #define configUSE_CORE_AFFINITY    0
 | 
			
		||||
#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
 | 
			
		||||
    #define configUSE_PASSIVE_IDLE_HOOK    0
 | 
			
		||||
#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 ) )
 | 
			
		||||
            {
 | 
			
		||||
                /* Set the task's affinity before scheduling it. */
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
 | 
			
		||||
            }
 | 
			
		||||
            #endif
 | 
			
		||||
 | 
			
		||||
@ -1442,7 +1442,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
			
		||||
            #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
			
		||||
            {
 | 
			
		||||
                /* Set the task's affinity before scheduling it. */
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
 | 
			
		||||
            }
 | 
			
		||||
            #endif
 | 
			
		||||
 | 
			
		||||
@ -1560,7 +1560,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
			
		||||
            #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
			
		||||
            {
 | 
			
		||||
                /* 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 ) ) */
 | 
			
		||||
 | 
			
		||||
@ -1733,7 +1733,7 @@ static void prvAddNewTaskToReadyList( TCB_t * pxNewTCB ) PRIVILEGED_FUNCTION;
 | 
			
		||||
            #if ( ( configNUMBER_OF_CORES > 1 ) && ( configUSE_CORE_AFFINITY == 1 ) )
 | 
			
		||||
            {
 | 
			
		||||
                /* Set the task's affinity before scheduling it. */
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = tskNO_AFFINITY;
 | 
			
		||||
                pxNewTCB->uxCoreAffinityMask = configTASK_DEFAULT_CORE_AFFINITY;
 | 
			
		||||
            }
 | 
			
		||||
            #endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user