summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* correct memory model in smpatomic test caseWeiY2013-08-196-13/+13
|
* smptests/smpswitchextension01: Fix start sequenceSebastian Huber2013-08-091-0/+2
| | | | Start the toggler after the context is initialized.
* score: Per-CPU thread dispatch disable levelSebastian Huber2013-08-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a per-CPU thread dispatch disable level. So instead of one global thread dispatch disable level we have now one instance per processor. This is a major performance improvement for SMP. On non-SMP configurations this may simplifiy the interrupt entry/exit code. The giant lock is still present, but it is now decoupled from the thread dispatching in _Thread_Dispatch(), _Thread_Handler(), _Thread_Restart_self() and the interrupt entry/exit. Access to the giant lock is now available via _Giant_Acquire() and _Giant_Release(). The giant lock is still implicitly acquired via _Thread_Dispatch_decrement_disable_level(). The giant lock is only acquired for high-level operations in interrupt handlers (e.g. release of a semaphore, sending of an event). As a side-effect this change fixes the lost thread dispatch necessary indication bug in _Thread_Dispatch(). A per-CPU thread dispatch disable level greatly simplifies the SMP support for the interrupt entry/exit code since no spin locks have to be acquired in this area. It is only necessary to get the current processor index and use this to calculate the address of the own per-CPU control. This reduces the interrupt latency considerably. All elements for the interrupt entry/exit code are now part of the Per_CPU_Control structure: thread dispatch disable level, ISR nest level and thread dispatch necessary. Nothing else is required (except CPU port specific stuff like on SPARC).
* smptests/smpmigration01: Fix start sequenceSebastian Huber2013-08-081-0/+2
| | | | Start the runner after the context is initialized.
* smptests/smp07: Use suspend instead of deleteSebastian Huber2013-08-061-1/+2
|
* smptests/smpswitchextension01: New testSebastian Huber2013-08-056-0/+298
|
* smptests/smpmigration01: New testSebastian Huber2013-08-056-0/+262
|
* smptests/smppsxsignal01: New testSebastian Huber2013-07-306-0/+227
|
* smptests/smpsignal01: New testSebastian Huber2013-07-306-0/+226
|
* smp: Add and use _Per_CPU_Get()Sebastian Huber2013-07-301-2/+2
| | | | | | Add and use _Per_CPU_Get_by_index() and _Per_CPU_Get_index(). Add _Per_CPU_Send_interrupt(). This avoids direct access of _Per_CPU_Information.
* smptests/smp08: Print missing newlineSebastian Huber2013-07-221-1/+1
|
* score: Error for non-preemptible tasks on SMPSebastian Huber2013-07-228-266/+16
| | | | | | | A common use case for disabled preemption was to ensure mutual exclusion on single-processor configurations. On SMP this does not work. To abandon non-preemptible tasks simplifies the scheduler.
* rtems: Error for task variables on SMPSebastian Huber2013-07-221-0/+9
| | | | Task variables are not supported on SMP.
* rtems: Error for task delete on SMPSebastian Huber2013-07-222-1/+7
| | | | Task deletion is currently not implemented on SMP configurations.
* sapi: Add rtems_configuration_is_smp_enabled()Sebastian Huber2013-07-226-0/+84
| | | | | | Add a configuration field which indicates if the SMP mode of operation is enabled. This can be used to disable features unsupported on SMP, e.g task variables.
* smptests: Be successful on one processorSebastian Huber2013-07-225-12/+58
|
* smp: Add and use _CPU_SMP_Get_current_processor()Sebastian Huber2013-07-1721-71/+78
| | | | | | | | | | Add and use _SMP_Get_current_processor() and rtems_smp_get_current_processor(). Delete bsp_smp_interrupt_cpu(). Change type of current processor index from int to uint32_t to match _SMP_Processor_count type.
* stdatomic.h support check when configureWeiY2013-07-178-14/+32
|
* smpatomic test case updateWeiY2013-07-177-186/+133
|
* smptests/smpschedule01: Update due to API changeSebastian Huber2013-06-171-1/+1
|
* smptests/smpschedule01: New testSebastian Huber2013-06-146-0/+246
|
* score: Rename rtems_smp_get_number_of_processors()Sebastian Huber2013-06-1416-41/+41
| | | | | | | | | Rename in rtems_smp_get_processor_count(). Always provide <rtems/score/smp.h> and <rtems/rtems/smp.h>. Add _SMP_Get_processor_count(). This function will be a compile time constant defined to be one on uni-processor configurations. This allows iterations over all processors without overhead on uni-processor configurations.
* smptests/smplock01: New testSebastian Huber2013-05-316-0/+463
|
* smptests: Use priority ceiling for locked printSebastian Huber2013-05-311-1/+1
| | | | | In case the printf() blocks on a semaphore it was possible to end up in a livelock.
* smptests/smp09: Add missing newlineSebastian Huber2013-05-271-1/+1
|
* smptests/smp01: Do not assume CPU 0 runs InitSebastian Huber2013-05-271-19/+22
|
* smptests/smp01: Fix semaphore countSebastian Huber2013-05-278-3/+12
| | | | The locked print needs one semaphore.
* RTEMS: Delete ChangeLog files.Gedare Bloom2013-03-081-58/+0
| | | | | | | | | This commit deletes all RTEMS ChangeLog files. These files have been abandoned since converting to git version control. The historical data may be recovered by checking out any commit before this one. Most of the contents of these ChangeLog files can also be found in the git log. Two external ChangeLog files, ChangeLog.slac and ChangeLog.zlib, remain.
* tests: atomic support for RTEMS. SMP tests for atomic operations.WeiY2013-02-0742-0/+1991
|
* score: atomic support for RTEMS automake and autoconf changesWeiY2013-02-072-0/+14
|
* Require automake-1.12.2.Ralf Corsépius2012-07-191-1/+1
|
* Require autoconf-2.69.Ralf Corsépius2012-07-191-1/+1
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-1139-108/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* Revert: Remove CVS IdsJoel Sherrill2012-05-0711-0/+51
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-0411-51/+0
|
* Remove.Ralf Corsépius2012-05-041-0/+0
|
* smp08 screen replacementJoel Sherrill2012-04-241-16/+29
|
* Remove all .cvsignore files.Joel Sherrill2012-02-0110-33/+0
|
* 2011-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-12-0810-22/+17
| | | | | | | | PR 1589/build * smp01/Makefile.am, smp02/Makefile.am, smp03/Makefile.am, smp04/Makefile.am, smp05/Makefile.am, smp06/Makefile.am, smp07/Makefile.am, smp08/Makefile.am, smp09/Makefile.am: Remove obsolete optional manager capability.
* 2011-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-09-295-0/+21
| | | | | * smp05/init.c, smp06/init.c, smp07/init.c, smp09/init.c: Add HAVE_CONFIG_H.
* 2011-07-29 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-07-294-16/+38
| | | | | | | | * smp03/init.c, smp03/system.h, smp03/tasks.c: Modified test to force a task to run prior to starting the next task. This allows the last task to always preempt, where if the tasks started in an odd order the last task could run prior the the task it was supposed to preempt.
* 2011-07-29 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-07-2913-70/+75
| | | | | | | | * smp01/init.c, smp02/init.c, smp02/tasks.c, smp03/init.c, smp03/tasks.c, smp04/Makefile.am, smp04/init.c, smp05/init.c, smp06/init.c, smp07/init.c, smp08/init.c: Cleaned up tests and fixed some print statement problems. * smp04/tasks.c: Removed.
* 2011-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-2910-24/+17
| | | | | | * smp01/smp01.doc, smp02/smp02.doc, smp03/smp03.doc, smp04/smp04.doc, smp05/smp05.doc, smp07/smp07.doc, smp08/smp08.doc, smp08/system.h, smp08/tasks.c: Update copyright.
* 2011-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-292-0/+19
| | | | * .cvsignore: New file.
* 2011-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-2861-0/+2186
* .configure.ac.swp, ChangeLog, Makefile.am, README, config.h.in, configure.ac, smp01/.cvsignore, smp01/Makefile.am, smp01/init.c, smp01/smp01.doc, smp01/smp01.scn, smp01/system.h, smp01/tasks.c, smp02/.cvsignore, smp02/Makefile.am, smp02/init.c, smp02/smp02.doc, smp02/smp02.scn, smp02/system.h, smp02/tasks.c, smp03/.cvsignore, smp03/Makefile.am, smp03/init.c, smp03/smp03.doc, smp03/smp03.scn, smp03/system.h, smp03/tasks.c, smp04/.cvsignore, smp04/Makefile.am, smp04/init.c, smp04/smp04.doc, smp04/smp04.scn, smp04/system.h, smp04/tasks.c, smp05/.cvsignore, smp05/Makefile.am, smp05/init.c, smp05/smp05.doc, smp05/smp05.scn, smp06/.cvsignore, smp06/Makefile.am, smp06/init.c, smp06/smp06.doc, smp06/smp06.scn, smp07/.cvsignore, smp07/Makefile.am, smp07/init.c, smp07/smp07.doc, smp07/smp07.scn, smp08/.cvsignore, smp08/Makefile.am, smp08/init.c, smp08/smp08.doc, smp08/smp08.scn, smp08/system.h, smp08/tasks.c, smp09/.cvsignore, smp09/Makefile.am, smp09/init.c, smp09/smp09.doc, smp09/smp09.scn: New files.