Re: [PATCH 6/6] config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATION
Hello Joel, On 15/02/2020 15:12, Joel Sherrill wrote: Another historical detail for the commit message is that even in SMP builds, uniprocesor tests used a uniprocesor schedule. It took us a while to decide that the uniprocesor tests should behave the same with the proper SMP scheduler. This is a pretty fundamental realisation and probably is worth capturing as a guiding principle for our tests. I think I understand what you mean, however, I have difficulties to formulate this as a commit message part. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 6/6] config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATION
Another historical detail for the commit message is that even in SMP builds, uniprocesor tests used a uniprocesor schedule. It took us a while to decide that the uniprocesor tests should behave the same with the proper SMP scheduler. This is a pretty fundamental realisation and probably is worth capturing as a guiding principle for our tests. On Sat, Feb 15, 2020, 6:36 AM Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote: > The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and > rtems_configuration_is_smp_enabled() were added during the SMP support > development cycle as a workaround to fix some testsuite failures in SMP > configurations. All use cases were replaced with tests for specific > conditions. The configuration option and test macro were undocumented. > > Close #3876. > --- > cpukit/include/rtems/confdefs.h | 19 > --- > cpukit/include/rtems/config.h | 13 - > cpukit/include/rtems/score/smp.h | 13 - > testsuites/ada/support/initimpl.h | 2 -- > testsuites/libtests/block08/system.h | 2 -- > testsuites/libtests/cpuuse/system.h | 2 -- > testsuites/libtests/rtmonuse/system.h | 1 - > testsuites/libtests/termios05/init.c | 2 -- > testsuites/smptests/smpunsupported01/init.c | 2 -- > testsuites/sptests/sp01/system.h | 2 -- > testsuites/sptests/sp04/system.h | 2 -- > testsuites/sptests/sp07/system.h | 2 -- > testsuites/sptests/sp08/init.c| 2 -- > testsuites/sptests/sp12/system.h | 2 -- > testsuites/sptests/sp13/system.h | 2 -- > testsuites/sptests/sp14/system.h | 2 -- > testsuites/sptests/sp16/system.h | 2 -- > testsuites/sptests/sp20/system.h | 2 -- > testsuites/sptests/sp37/system.h | 2 -- > testsuites/sptests/sp65/sp65impl.h| 2 -- > testsuites/sptests/spcbssched01/system.h | 2 -- > testsuites/sptests/spcbssched02/system.h | 2 -- > testsuites/sptests/spcbssched03/system.h | 2 -- > testsuites/sptests/spedfsched01/system.h | 2 -- > testsuites/sptests/spedfsched02/system.h | 2 -- > testsuites/sptests/spedfsched03/system.h | 2 -- > testsuites/sptests/spfatal29/init.c | 2 -- > testsuites/sptests/spfifo03/init.c| 2 -- > testsuites/sptests/spfifo05/init.c| 2 -- > .../sptests/spintrcritical06/spintrcritical06impl.h | 2 -- > testsuites/sptests/spintrcritical15/init.c| 2 -- > testsuites/sptests/spmrsp01/init.c| 2 -- > testsuites/sptests/spsimplesched02/init.c | 2 -- > testsuites/tmtests/tm04/system.h | 2 -- > testsuites/tmtests/tm08/system.h | 2 -- > testsuites/tmtests/tm15/system.h | 2 -- > testsuites/tmtests/tm20/system.h | 2 -- > testsuites/tmtests/tm22/system.h | 2 -- > testsuites/tmtests/tm24/system.h | 2 -- > 39 files changed, 116 deletions(-) > > diff --git a/cpukit/include/rtems/confdefs.h > b/cpukit/include/rtems/confdefs.h > index eb837fd389..d45287591e 100644 > --- a/cpukit/include/rtems/confdefs.h > +++ b/cpukit/include/rtems/confdefs.h > @@ -159,18 +159,6 @@ extern "C" { >#define _CONFIGURE_MAXIMUM_PROCESSORS 1 > #endif > > -/* > - * An internal define to indicate that this is an SMP application > - * configuration. > - */ > -#ifdef RTEMS_SMP > - #if !defined(CONFIGURE_DISABLE_SMP_CONFIGURATION) > -#define _CONFIGURE_SMP_APPLICATION > - #elif _CONFIGURE_MAXIMUM_PROCESSORS > 1 > -#error "CONFIGURE_DISABLE_SMP_CONFIGURATION and > CONFIGURE_MAXIMUM_PROCESSORS > 1 makes no sense" > - #endif > -#endif > - > /* > * This sets up the resources for the FIFOs/pipes. > */ > @@ -2576,13 +2564,6 @@ struct _reent *__getreent(void) >#endif > >#ifdef RTEMS_SMP > -const bool _SMP_Is_enabled = > - #ifdef _CONFIGURE_SMP_APPLICATION > -true; > - #else > -false; > - #endif > - > const uint32_t _SMP_Processor_configured_maximum = >_CONFIGURE_MAXIMUM_PROCESSORS; >#endif > diff --git a/cpukit/include/rtems/config.h b/cpukit/include/rtems/config.h > index 4811d0e704..e82c7abf11 100644 > --- a/cpukit/include/rtems/config.h > +++ b/cpukit/include/rtems/config.h > @@ -150,19 +150,6 @@ uint32_t rtems_configuration_get_maximum_extensions( > void ); > NULL > #endif > > -/** > - * @brief Returns true if the SMP mode of operation is enabled, and false > - * otherwise. > - * > - * In uni-processor configurations this is
[PATCH 6/6] config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATION
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and rtems_configuration_is_smp_enabled() were added during the SMP support development cycle as a workaround to fix some testsuite failures in SMP configurations. All use cases were replaced with tests for specific conditions. The configuration option and test macro were undocumented. Close #3876. --- cpukit/include/rtems/confdefs.h | 19 --- cpukit/include/rtems/config.h | 13 - cpukit/include/rtems/score/smp.h | 13 - testsuites/ada/support/initimpl.h | 2 -- testsuites/libtests/block08/system.h | 2 -- testsuites/libtests/cpuuse/system.h | 2 -- testsuites/libtests/rtmonuse/system.h | 1 - testsuites/libtests/termios05/init.c | 2 -- testsuites/smptests/smpunsupported01/init.c | 2 -- testsuites/sptests/sp01/system.h | 2 -- testsuites/sptests/sp04/system.h | 2 -- testsuites/sptests/sp07/system.h | 2 -- testsuites/sptests/sp08/init.c| 2 -- testsuites/sptests/sp12/system.h | 2 -- testsuites/sptests/sp13/system.h | 2 -- testsuites/sptests/sp14/system.h | 2 -- testsuites/sptests/sp16/system.h | 2 -- testsuites/sptests/sp20/system.h | 2 -- testsuites/sptests/sp37/system.h | 2 -- testsuites/sptests/sp65/sp65impl.h| 2 -- testsuites/sptests/spcbssched01/system.h | 2 -- testsuites/sptests/spcbssched02/system.h | 2 -- testsuites/sptests/spcbssched03/system.h | 2 -- testsuites/sptests/spedfsched01/system.h | 2 -- testsuites/sptests/spedfsched02/system.h | 2 -- testsuites/sptests/spedfsched03/system.h | 2 -- testsuites/sptests/spfatal29/init.c | 2 -- testsuites/sptests/spfifo03/init.c| 2 -- testsuites/sptests/spfifo05/init.c| 2 -- .../sptests/spintrcritical06/spintrcritical06impl.h | 2 -- testsuites/sptests/spintrcritical15/init.c| 2 -- testsuites/sptests/spmrsp01/init.c| 2 -- testsuites/sptests/spsimplesched02/init.c | 2 -- testsuites/tmtests/tm04/system.h | 2 -- testsuites/tmtests/tm08/system.h | 2 -- testsuites/tmtests/tm15/system.h | 2 -- testsuites/tmtests/tm20/system.h | 2 -- testsuites/tmtests/tm22/system.h | 2 -- testsuites/tmtests/tm24/system.h | 2 -- 39 files changed, 116 deletions(-) diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index eb837fd389..d45287591e 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -159,18 +159,6 @@ extern "C" { #define _CONFIGURE_MAXIMUM_PROCESSORS 1 #endif -/* - * An internal define to indicate that this is an SMP application - * configuration. - */ -#ifdef RTEMS_SMP - #if !defined(CONFIGURE_DISABLE_SMP_CONFIGURATION) -#define _CONFIGURE_SMP_APPLICATION - #elif _CONFIGURE_MAXIMUM_PROCESSORS > 1 -#error "CONFIGURE_DISABLE_SMP_CONFIGURATION and CONFIGURE_MAXIMUM_PROCESSORS > 1 makes no sense" - #endif -#endif - /* * This sets up the resources for the FIFOs/pipes. */ @@ -2576,13 +2564,6 @@ struct _reent *__getreent(void) #endif #ifdef RTEMS_SMP -const bool _SMP_Is_enabled = - #ifdef _CONFIGURE_SMP_APPLICATION -true; - #else -false; - #endif - const uint32_t _SMP_Processor_configured_maximum = _CONFIGURE_MAXIMUM_PROCESSORS; #endif diff --git a/cpukit/include/rtems/config.h b/cpukit/include/rtems/config.h index 4811d0e704..e82c7abf11 100644 --- a/cpukit/include/rtems/config.h +++ b/cpukit/include/rtems/config.h @@ -150,19 +150,6 @@ uint32_t rtems_configuration_get_maximum_extensions( void ); NULL #endif -/** - * @brief Returns true if the SMP mode of operation is enabled, and false - * otherwise. - * - * In uni-processor configurations this is a compile-time constant which - * evaluates to false. - * - * @retval true SMP mode of operation is enabled. - * @retval false Otherwise. - */ -#define rtems_configuration_is_smp_enabled() \ - (_SMP_Is_enabled) - /** * @brief Returns the configured maximum count of processors. * diff --git a/cpukit/include/rtems/score/smp.h b/cpukit/include/rtems/score/smp.h index 36cfd981ab..2722fbdcee 100644 --- a/cpukit/include/rtems/score/smp.h +++ b/cpukit/include/rtems/score/smp.h @@ -36,19 +36,6 @@ extern "C" { * @{ */ -/** - * @brief Indicates if SMP is enabled. - * - * In SMP configurations, this constant is defined by