[rtems commit] score: Rename _SMP_Get_processor_count()

Sebastian Huber sebh at rtems.org
Thu Apr 11 07:19:25 UTC 2019


Module:    rtems
Branch:    master
Commit:    ad87de4a67d8ce7e75d0b844efc03b98c3ecda1a
Changeset: http://git.rtems.org/rtems/commit/?id=ad87de4a67d8ce7e75d0b844efc03b98c3ecda1a

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Apr 11 08:54:29 2019 +0200

score: Rename _SMP_Get_processor_count()

Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be
in line with the API level rtems_scheduler_get_processor_maximum().

Update #3732.

---

 bsps/powerpc/qoriq/start/bsprestart.c        |  2 +-
 bsps/riscv/riscv/irq/irq.c                   | 18 +++++-----
 bsps/shared/dev/clock/clockimpl.h            |  6 ++--
 cpukit/include/rtems/score/percpu.h          |  4 +--
 cpukit/include/rtems/score/smp.h             |  4 +--
 cpukit/rtems/src/getprocessorcount.c         |  2 +-
 cpukit/rtems/src/scheduleridentbyprocessor.c |  2 +-
 cpukit/score/src/coretodset.c                |  6 ++--
 cpukit/score/src/schedulerdefaultpinunpin.c  |  2 +-
 cpukit/score/src/smp.c                       | 53 ++++++++++++++++------------
 cpukit/score/src/smpmulticastaction.c        |  2 +-
 cpukit/score/src/threadcreateidle.c          |  5 +--
 testsuites/sptests/spsize/size.c             |  2 +-
 13 files changed, 60 insertions(+), 48 deletions(-)

diff --git a/bsps/powerpc/qoriq/start/bsprestart.c b/bsps/powerpc/qoriq/start/bsprestart.c
index 3118afd..3dc9d6f 100644
--- a/bsps/powerpc/qoriq/start/bsprestart.c
+++ b/bsps/powerpc/qoriq/start/bsprestart.c
@@ -67,7 +67,7 @@ static void restart_interrupt(void *arg)
   (void) level;
 
   _SMP_barrier_State_initialize(&bs);
-  _SMP_barrier_Wait(&restart_barrier, &bs, _SMP_Get_processor_count());
+  _SMP_barrier_Wait(&restart_barrier, &bs, _SMP_Get_processor_maximum());
 
   cpu_self_index = rtems_scheduler_get_processor();
   thread_index = cpu_self_index % QORIQ_THREAD_COUNT;
diff --git a/bsps/riscv/riscv/irq/irq.c b/bsps/riscv/riscv/irq/irq.c
index 3c35a37..ffd9bbe 100644
--- a/bsps/riscv/riscv/irq/irq.c
+++ b/bsps/riscv/riscv/irq/irq.c
@@ -247,12 +247,12 @@ void bsp_interrupt_vector_enable(rtems_vector_number vector)
     if (enable != NULL) {
       enable[group] |= bit;
     } else {
+      uint32_t cpu_max;
       uint32_t cpu_index;
-      uint32_t cpu_count;
 
-      cpu_count = _SMP_Get_processor_count();
+      cpu_max = _SMP_Get_processor_maximum();
 
-      for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
+      for (cpu_index = 0; cpu_index < cpu_max; ++cpu_index) {
         Per_CPU_Control *cpu;
 
         cpu = _Per_CPU_Get_by_index(cpu_index);
@@ -289,12 +289,12 @@ void bsp_interrupt_vector_disable(rtems_vector_number vector)
     if (enable != NULL) {
       enable[group] &= ~bit;
     } else {
+      uint32_t cpu_max;
       uint32_t cpu_index;
-      uint32_t cpu_count;
 
-      cpu_count = _SMP_Get_processor_count();
+      cpu_max = _SMP_Get_processor_maximum();
 
-      for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
+      for (cpu_index = 0; cpu_index < cpu_max; ++cpu_index) {
         Per_CPU_Control *cpu;
 
         cpu = _Per_CPU_Get_by_index(cpu_index);
@@ -357,12 +357,12 @@ void bsp_interrupt_get_affinity(
     enable = riscv_plic_irq_to_cpu[interrupt_index - 1];
 
     if (enable != NULL) {
+      uint32_t cpu_max;
       uint32_t cpu_index;
-      uint32_t cpu_count;
 
-      cpu_count = _SMP_Get_processor_count();
+      cpu_max = _SMP_Get_processor_maximum();
 
-      for (cpu_index = 0; cpu_index < cpu_count; ++cpu_index) {
+      for (cpu_index = 0; cpu_index < cpu_max; ++cpu_index) {
         Per_CPU_Control *cpu;
 
         cpu = _Per_CPU_Get_by_index(cpu_index);
diff --git a/bsps/shared/dev/clock/clockimpl.h b/bsps/shared/dev/clock/clockimpl.h
index 7913cde..f5eb4dc 100644
--- a/bsps/shared/dev/clock/clockimpl.h
+++ b/bsps/shared/dev/clock/clockimpl.h
@@ -79,10 +79,12 @@ static void Clock_driver_timecounter_tick( void )
 #if defined(CLOCK_DRIVER_USE_DUMMY_TIMECOUNTER)
   rtems_clock_tick();
 #elif defined(RTEMS_SMP) && defined(CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR)
-  uint32_t cpu_count = _SMP_Get_processor_count();
+  uint32_t cpu_max;
   uint32_t cpu_index;
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  cpu_max = _SMP_Get_processor_maximum();
+
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     Per_CPU_Control *cpu;
 
     cpu = _Per_CPU_Get_by_index( cpu_index );
diff --git a/cpukit/include/rtems/score/percpu.h b/cpukit/include/rtems/score/percpu.h
index 26ae8c6..4ffefae 100644
--- a/cpukit/include/rtems/score/percpu.h
+++ b/cpukit/include/rtems/score/percpu.h
@@ -597,7 +597,7 @@ extern Per_CPU_Control_envelope _Per_CPU_Information[] CPU_STRUCTURE_ALIGNMENT;
 #if defined( RTEMS_SMP )
 #define _Per_CPU_Acquire_all( isr_cookie ) \
   do { \
-    uint32_t ncpus = _SMP_Get_processor_count(); \
+    uint32_t ncpus = _SMP_Get_processor_maximum(); \
     uint32_t cpu; \
     _ISR_Local_disable( isr_cookie ); \
     for ( cpu = 0 ; cpu < ncpus ; ++cpu ) { \
@@ -612,7 +612,7 @@ extern Per_CPU_Control_envelope _Per_CPU_Information[] CPU_STRUCTURE_ALIGNMENT;
 #if defined( RTEMS_SMP )
 #define _Per_CPU_Release_all( isr_cookie ) \
   do { \
-    uint32_t ncpus = _SMP_Get_processor_count(); \
+    uint32_t ncpus = _SMP_Get_processor_maximum(); \
     uint32_t cpu; \
     for ( cpu = 0 ; cpu < ncpus ; ++cpu ) { \
       _Per_CPU_Release( _Per_CPU_Get_by_index( cpu ) ); \
diff --git a/cpukit/include/rtems/score/smp.h b/cpukit/include/rtems/score/smp.h
index a960097..94b7566 100644
--- a/cpukit/include/rtems/score/smp.h
+++ b/cpukit/include/rtems/score/smp.h
@@ -37,12 +37,12 @@ extern "C" {
 #if defined( RTEMS_SMP )
   extern uint32_t _SMP_Processor_maximum;
 
-  static inline uint32_t _SMP_Get_processor_count( void )
+  static inline uint32_t _SMP_Get_processor_maximum( void )
   {
     return _SMP_Processor_maximum;
   }
 #else
-  #define _SMP_Get_processor_count() UINT32_C(1)
+  #define _SMP_Get_processor_maximum() UINT32_C(1)
 #endif
 
 #if defined( RTEMS_SMP )
diff --git a/cpukit/rtems/src/getprocessorcount.c b/cpukit/rtems/src/getprocessorcount.c
index 40ab5ef..68de749 100644
--- a/cpukit/rtems/src/getprocessorcount.c
+++ b/cpukit/rtems/src/getprocessorcount.c
@@ -21,5 +21,5 @@
 
 uint32_t rtems_scheduler_get_processor_maximum(void)
 {
-  return _SMP_Get_processor_count();
+  return _SMP_Get_processor_maximum();
 }
diff --git a/cpukit/rtems/src/scheduleridentbyprocessor.c b/cpukit/rtems/src/scheduleridentbyprocessor.c
index 2bc64d7..f862c1b 100644
--- a/cpukit/rtems/src/scheduleridentbyprocessor.c
+++ b/cpukit/rtems/src/scheduleridentbyprocessor.c
@@ -31,7 +31,7 @@ rtems_status_code rtems_scheduler_ident_by_processor(
     return RTEMS_INVALID_ADDRESS;
   }
 
-  if ( cpu_index >= _SMP_Get_processor_count() ) {
+  if ( cpu_index >= _SMP_Get_processor_maximum() ) {
     return RTEMS_INVALID_NAME;
   }
 
diff --git a/cpukit/score/src/coretodset.c b/cpukit/score/src/coretodset.c
index f348596..b021a58 100644
--- a/cpukit/score/src/coretodset.c
+++ b/cpukit/score/src/coretodset.c
@@ -29,7 +29,7 @@ void _TOD_Set(
 {
   struct bintime  tod_as_bintime;
   uint64_t        tod_as_ticks;
-  uint32_t        cpu_count;
+  uint32_t        cpu_max;
   uint32_t        cpu_index;
 
   _Assert( _TOD_Is_owner() );
@@ -38,9 +38,9 @@ void _TOD_Set(
   _Timecounter_Set_clock( &tod_as_bintime, lock_context );
 
   tod_as_ticks = _Watchdog_Ticks_from_timespec( tod );
-  cpu_count = _SMP_Get_processor_count();
+  cpu_max = _SMP_Get_processor_maximum();
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     Per_CPU_Control  *cpu;
     Watchdog_Header  *header;
     ISR_lock_Context  lock_context;
diff --git a/cpukit/score/src/schedulerdefaultpinunpin.c b/cpukit/score/src/schedulerdefaultpinunpin.c
index 5fc9cca..6df685a 100644
--- a/cpukit/score/src/schedulerdefaultpinunpin.c
+++ b/cpukit/score/src/schedulerdefaultpinunpin.c
@@ -26,7 +26,7 @@ void _Scheduler_default_Pin_or_unpin(
   (void) node;
   (void) cpu;
 
-  if ( _SMP_Get_processor_count() > 1 ) {
+  if ( _SMP_Get_processor_maximum() > 1 ) {
     _Terminate(
       RTEMS_FATAL_SOURCE_SMP,
       SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c
index 3d35154..780b33c 100644
--- a/cpukit/score/src/smp.c
+++ b/cpukit/score/src/smp.c
@@ -53,14 +53,14 @@ static bool _Scheduler_Should_start_processor(
   return assignment->scheduler != NULL;
 }
 
-static void _SMP_Start_processors( uint32_t cpu_count )
+static void _SMP_Start_processors( uint32_t cpu_max )
 {
   uint32_t cpu_index_self;
   uint32_t cpu_index;
 
   cpu_index_self = _SMP_Get_current_processor();
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count; ++cpu_index ) {
+  for ( cpu_index = 0 ; cpu_index < cpu_max; ++cpu_index ) {
     const Scheduler_Assignment *assignment;
     Per_CPU_Control            *cpu;
     bool                        started;
@@ -107,11 +107,13 @@ static void _SMP_Start_processors( uint32_t cpu_count )
 
 void _SMP_Handler_initialize( void )
 {
-  uint32_t cpu_max = rtems_configuration_get_maximum_processors();
-  uint32_t cpu_count;
+  uint32_t cpu_config_max;
+  uint32_t cpu_max;
   uint32_t cpu_index;
 
-  for ( cpu_index = 0 ; cpu_index < cpu_max; ++cpu_index ) {
+  cpu_config_max = rtems_configuration_get_maximum_processors();
+
+  for ( cpu_index = 0 ; cpu_index < cpu_config_max; ++cpu_index ) {
     Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index );
 
     _ISR_lock_Initialize( &cpu->Watchdog.Lock, "Watchdog" );
@@ -124,11 +126,11 @@ void _SMP_Handler_initialize( void )
    * Discover and initialize the secondary cores in an SMP system.
    */
 
-  cpu_count = _CPU_SMP_Initialize();
-  cpu_count = cpu_count < cpu_max ? cpu_count : cpu_max;
-  _SMP_Processor_maximum = cpu_count;
+  cpu_max = _CPU_SMP_Initialize();
+  cpu_max = cpu_max < cpu_config_max ? cpu_max : cpu_config_max;
+  _SMP_Processor_maximum = cpu_max;
 
-  for ( cpu_index = cpu_count ; cpu_index < cpu_max; ++cpu_index ) {
+  for ( cpu_index = cpu_max ; cpu_index < cpu_config_max; ++cpu_index ) {
     const Scheduler_Assignment *assignment;
 
     assignment = _Scheduler_Get_initial_assignment( cpu_index );
@@ -138,23 +140,23 @@ void _SMP_Handler_initialize( void )
     }
   }
 
-  _SMP_Start_processors( cpu_count );
+  _SMP_Start_processors( cpu_max );
 
-  _CPU_SMP_Finalize_initialization( cpu_count );
+  _CPU_SMP_Finalize_initialization( cpu_max );
 }
 
 void _SMP_Request_start_multitasking( void )
 {
   Per_CPU_Control *cpu_self;
-  uint32_t         cpu_count;
+  uint32_t         cpu_max;
   uint32_t         cpu_index;
 
   cpu_self = _Per_CPU_Get();
   _Per_CPU_State_change( cpu_self, PER_CPU_STATE_READY_TO_START_MULTITASKING );
 
-  cpu_count = _SMP_Get_processor_count();
+  cpu_max = _SMP_Get_processor_maximum();
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     Per_CPU_Control *cpu;
 
     cpu = _Per_CPU_Get_by_index( cpu_index );
@@ -215,13 +217,15 @@ void _SMP_Send_message( uint32_t cpu_index, unsigned long message )
 
 void _SMP_Send_message_broadcast( unsigned long message )
 {
-  uint32_t cpu_count = _SMP_Get_processor_count();
-  uint32_t cpu_index_self = _SMP_Get_current_processor();
+  uint32_t cpu_max;
+  uint32_t cpu_index_self;
   uint32_t cpu_index;
 
   _Assert( _Debug_Is_thread_dispatching_allowed() );
+  cpu_max = _SMP_Get_processor_maximum();
+  cpu_index_self = _SMP_Get_current_processor();
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     if (
       cpu_index != cpu_index_self
         && _Processor_mask_Is_set( &_SMP_Online_processors, cpu_index )
@@ -236,10 +240,12 @@ void _SMP_Send_message_multicast(
   unsigned long         message
 )
 {
-  uint32_t cpu_count = _SMP_Get_processor_count();
+  uint32_t cpu_max;
   uint32_t cpu_index;
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  cpu_max = _SMP_Get_processor_maximum();
+
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     if ( _Processor_mask_Is_set( targets, cpu_index ) ) {
       _SMP_Send_message( cpu_index, message );
     }
@@ -251,11 +257,14 @@ bool _SMP_Before_multitasking_action_broadcast(
   void               *arg
 )
 {
-  bool done = true;
-  uint32_t cpu_count = _SMP_Get_processor_count();
+  bool     done;
+  uint32_t cpu_max;
   uint32_t cpu_index;
 
-  for ( cpu_index = 0 ; done && cpu_index < cpu_count ; ++cpu_index ) {
+  done = true;
+  cpu_max = _SMP_Get_processor_maximum();
+
+  for ( cpu_index = 0 ; done && cpu_index < cpu_max ; ++cpu_index ) {
     Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index );
 
     if (
diff --git a/cpukit/score/src/smpmulticastaction.c b/cpukit/score/src/smpmulticastaction.c
index df03c79..0cf675f 100644
--- a/cpukit/score/src/smpmulticastaction.c
+++ b/cpukit/score/src/smpmulticastaction.c
@@ -110,7 +110,7 @@ void _SMP_Multicast_action(
   } else {
     _Processor_mask_Zero( &targets );
 
-    for ( i = 0; i < _SMP_Get_processor_count(); ++i ) {
+    for ( i = 0; i < _SMP_Get_processor_maximum(); ++i ) {
       if ( CPU_ISSET_S( i, setsize, cpus ) ) {
         _Processor_mask_Set( &targets, i );
       }
diff --git a/cpukit/score/src/threadcreateidle.c b/cpukit/score/src/threadcreateidle.c
index eaf5d50..65199f0 100644
--- a/cpukit/score/src/threadcreateidle.c
+++ b/cpukit/score/src/threadcreateidle.c
@@ -85,12 +85,13 @@ static void _Thread_Create_idle_for_CPU( Per_CPU_Control *cpu )
 
 void _Thread_Create_idle( void )
 {
-  uint32_t cpu_count = _SMP_Get_processor_count();
+  uint32_t cpu_max;
   uint32_t cpu_index;
 
   _System_state_Set( SYSTEM_STATE_BEFORE_MULTITASKING );
+  cpu_max = _SMP_Get_processor_maximum();
 
-  for ( cpu_index = 0 ; cpu_index < cpu_count ; ++cpu_index ) {
+  for ( cpu_index = 0 ; cpu_index < cpu_max ; ++cpu_index ) {
     Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index );
 
     if ( _Per_CPU_Is_processor_online( cpu ) ) {
diff --git a/testsuites/sptests/spsize/size.c b/testsuites/sptests/spsize/size.c
index ac674d8..1369cd7 100644
--- a/testsuites/sptests/spsize/size.c
+++ b/testsuites/sptests/spsize/size.c
@@ -322,7 +322,7 @@ uninitialized =
 /*partmp.h*/    0                                         +
 #endif
 
-/*percpu.h*/    (_SMP_Get_processor_count() * sizeof(Per_CPU_Control))  +
+/*percpu.h*/    (_SMP_Get_processor_maximum() * sizeof(Per_CPU_Control))  +
 
 /*ratemonimpl.h*/ (sizeof _Rate_monotonic_Information)    +
 




More information about the vc mailing list