From 34487537ceb62ee2e2fabc0667e65c43a1319855 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 4 Jul 2017 09:57:30 +0200 Subject: score: Add simple affinity support to EDF SMP Update #3059. --- cpukit/sapi/include/confdefs.h | 3 ++- cpukit/sapi/include/rtems/scheduler.h | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'cpukit/sapi/include') diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 77b80d1cce..d01c927014 100755 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -992,7 +992,8 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #if !defined(CONFIGURE_SCHEDULER_CONTROLS) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_EDF_SMP(dflt) + #define CONFIGURE_SCHEDULER_CONTEXT \ + RTEMS_SCHEDULER_CONTEXT_EDF_SMP(dflt, CONFIGURE_MAXIMUM_PROCESSORS) /** Configure the controls for this scheduler instance */ #define CONFIGURE_SCHEDULER_CONTROLS \ diff --git a/cpukit/sapi/include/rtems/scheduler.h b/cpukit/sapi/include/rtems/scheduler.h index fae0db4913..8684b798f7 100644 --- a/cpukit/sapi/include/rtems/scheduler.h +++ b/cpukit/sapi/include/rtems/scheduler.h @@ -99,12 +99,15 @@ #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ) \ RTEMS_SCHEDULER_CONTEXT_NAME( EDF_SMP_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name ) \ - static Scheduler_EDF_SMP_Context RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ) + #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \ + static struct { \ + Scheduler_EDF_SMP_Context Base; \ + Scheduler_EDF_SMP_Ready_queue Ready[ ( max_cpu_count ) + 1 ]; \ + } RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ) #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \ { \ - &RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ).Base.Base, \ + &RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ).Base.Base.Base, \ SCHEDULER_EDF_SMP_ENTRY_POINTS, \ SCHEDULER_EDF_MAXIMUM_PRIORITY, \ ( obj_name ) \ -- cgit v1.2.3