summaryrefslogtreecommitdiff
path: root/testsuites/smptests (follow)
AgeCommit message (Collapse)Author
2017-12-06smpunsupported01: Add missing error check for rtems_task_modeJoel Sherrill
Update test documentation to include more cases. Updates #3000.
2017-11-20score: Optimize scheduler priority updatesSebastian Huber
Thread priority changes may append or prepend the thread to its priority group on the scheduler ready queue. Previously, a separate priority value and a prepend-it flag in the scheduler node were used to propagate a priority change to the scheduler. Now, use an append-it bit in the priority control and reduce the plain priority value to 63 bits. This change leads to a significant code size reduction (about 25%) of the SMP schedulers. The negligible increase of the standard priority scheduler is due to some additional shift operations (SCHEDULER_PRIORITY_MAP() and SCHEDULER_PRIORITY_UNMAP()). Before: text filename 136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o 464 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o 24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o 108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o 292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o 264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o text filename 280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o 488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o 200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o 164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o 328 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o 200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o text filename 24112 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o text filename 37204 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o text filename 42236 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o After: text filename 136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o 272 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o 24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o 108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o 292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o 264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o text filename 280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o 488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o 208 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o 164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o 332 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o 200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o text filename 18860 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o text filename 28520 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o text filename 32664 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o
2017-11-16score: Fix priority ceiling updatesSebastian Huber
We must not clear the priority updates in _Thread_queue_Extract_locked() since this function is used by the priority ceiling surrender operations after the ceiling priority handover from the previous owner to the new owner. This is especially important in SMP configurations. Move the _Thread_queue_Context_clear_priority_updates() invocation to the callers. Close #3237.
2017-11-16score: Fix _Thread_queue_Flush_critical()Sebastian Huber
The thread queue extract operations performed by the _Thread_queue_Flush_critical() may result in a priority change of the thread queue owner. Carry out the scheduler priority update operation. This is especially important in SMP configurations. Close #3236.
2017-11-06tests: Use <tmacros.h> in all testsSebastian Huber
Update #3170. Update #3199.
2017-11-06tests: Use simple console driverSebastian Huber
Update #3170. Update #3199.
2017-11-03smpscheduler02: Avoid sporadic test failuresSebastian Huber
2017-11-02tests: Delete obsolete TESTS_USE_PRINTFSebastian Huber
Update #3170. Update #3199.
2017-11-02smppsxaffinity02: Fix thread attribute usageSebastian Huber
The pthread_getattr_np() returns now the stack address and size. Do not use this stack for the new threads. Update #2514. Update #3145. Update #3168.
2017-10-28tests: Remove TEST_INITSebastian Huber
The TEST_EXTERN is a used only by the system.h style tests and they use CONFIGURE_INIT appropriately. Update #3170. Update #3199.
2017-10-28tests: Remove obsolete TESTS_USE_PRINTKSebastian Huber
Update #3170. Update #3199.
2017-10-28tests: Use rtems_test_printerSebastian Huber
Update #3170. Update #3199.
2017-10-26smptests: Fix format warningsSebastian Huber
2017-10-25smptests: Remove duplicate Makefile targetsSebastian Huber
Close #3187.
2017-10-23testsuite: Fix buildSebastian Huber
Updates #3170.
2017-10-23testsuite: Use printk for all test output where possible.Chris Johns
- Remove the printf support leaving the direct printk support configured with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf call to printk. - Control the test's single init for functions and global data with TEST_INIT and not CONFIGURE_INIT. They are now separate. Updates #3170.
2017-10-11smpaffinity01: Fix test caseSebastian Huber
Update #2514.
2017-10-11posix: Validate affinity sets by the schedulerSebastian Huber
Update #2514.
2017-10-09posix: Simplify POSIX_API_ControlSebastian Huber
Return stack area via pthread_getattr_np(). Simplify * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() and let the scheduler do the more sophisticated error checks. Make * pthread_setaffinity_np(), * pthread_getaffinity_np(), * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() available in all configurations. Update #2514. Close #3145. Close #3168.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber
POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
2017-08-25Include missing <limits.h>Sebastian Huber
Update #2132.
2017-08-22smptests: Fix format specifierSebastian Huber
Update #3082.
2017-07-19smptests/smpscheduler02: Remove invalid assertSebastian Huber
Update #3059.
2017-07-19smptests/smpscheduler01: Use right schedulerSebastian Huber
Update #3063.
2017-07-19tests: Use floating point taskSebastian Huber
These tests directly or indirectly use fprintf(), etc. which may use the floating point unit. Update #3076.
2017-07-18tests: Use floating point taskSebastian Huber
These tests directly or indirectly use fprintf(), etc. which may use the floating point unit. Update #3076.
2017-07-11rtems: Add rtems_scheduler_ident_by_processor_setSebastian Huber
Update #3070.
2017-07-11rtems: Add rtems_scheduler_ident_by_processor()Sebastian Huber
Update #3069.
2017-07-10score: Fix set schedulerSebastian Huber
Ensure that the thread processor affinity fits the new scheduler instance. Update #3059.
2017-07-10score: Add simple affinity support to EDF SMPSebastian Huber
Update #3059.
2017-07-07smptests/smpstrongapa01: SimplifySebastian Huber
Update #3059.
2017-07-07score: Fix default set affinitySebastian Huber
The set of online processors must be a subset of the thread processor affinity for the schedulers without arbitrary processor affinity support to avoid problems in case of processor addition and removal. Update #3059.
2017-07-07score: Introduce _SMP_Get_online_processors()Sebastian Huber
Update #3059.
2017-07-07score: Use processor mask for set affinitySebastian Huber
Update #3059.
2017-07-07score: Move processor affinity to Thread_ControlSebastian Huber
Update #3059.
2017-07-06score: Use <sys/bitset.h> for Processor_maskSebastian Huber
Implement the Processor_mask via <sys/bitset.h>. Provide _Processor_mask_To_uint32_t() to enable its use in device specific routines, e.g. interrupt affinity register in an interrupt controller. Update #3059.
2017-06-29smptests/smpschededf01: New testSebastian Huber
Update #3056.
2017-06-29score: Add SMP EDF schedulerSebastian Huber
Update #3056.
2017-06-29smptests: Split smpscheduler03Sebastian Huber
Split smpscheduler03 to run the tests with only one processor. Update #3056.
2017-06-07Fix CPU_COPY() usageSebastian Huber
The original CPU_COPY() support of Newlib <sys/cpuset.h> had the parameters in the wrong order. This is fixed in Newlib since 2017-05-22. Update #3023.
2017-04-05smpcache01: Fix test to run on QorIQ T4240Sebastian Huber
2017-04-04testsuite: Add a common test configuration. Fix configure.ac and Makefile.am ↵Chris Johns
errors. - Add a top level test configuration file for test states that are common to all BSPs. This saves adding a test configuration (tcfg) file for every BSP. - Add the test states 'user-input' and 'benchmark'. This lets 'rtems-test' stop the test rather than waiting for a timeout or letting a benchmark run without the user asking for it to run. - Implement rtems-test-check in Python to make it faster. The shell script had grown to a point it was noticably slowing the build down. - Fix the configure.ac and Makefile.am files for a number of the test directories. The files are difficiult to keep in sync with the number of tests and mistakes can happen such as tests being left out of the build. The test fsrofs01 is an example. Also a there was a mix of SUBDIRS and _SUBDIRS being used and only _SUBDIRS should be used. - Fix the test fsrofs01 so it compiles. Closes #2963.
2017-02-14Rename CONFIGURE_SMP_MAXIMUM_PROCESSORSSebastian Huber
Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous. Update #2894.
2017-02-03smptests: Fix warningsSebastian Huber
2017-02-03score: Improve scheduler helping protocolSebastian Huber
Only register ask for help requests in the scheduler unblock and yield operations. The actual ask for help operation is carried out during _Thread_Do_dispatch() on a processor related to the thread. This yields a better separation of scheduler instances. A thread of one scheduler instance should not be forced to carry out too much work for threads on other scheduler instances. Update #2556.
2017-02-02Remove CONFIGURE_SMP_APPLICATIONSebastian Huber
Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
2017-01-24smptests/smpsignal01: Check signal ISR levelSebastian Huber
Close #2751.
2017-01-11Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__Joel Sherrill
2016-12-12Rename is_internal to always_set_to_falseSebastian Huber
Update #2825.
2016-12-07smplock01: Fix plot scriptsSebastian Huber