summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-09-21testsuites/smpmulticast01: Enforce step orderingKinsey Moore1-0/+1
The order in which step checks for 1 and 2 are not rigidly defined and may actually occur in either order depending on how the threads execute. This waits for the job to complete to enforce the existing ordering.
2021-09-21build: Remove old build systemSebastian Huber2-770/+0
Close #3250. Close #4081.
2021-08-30smpfatal01: Fix test time out on sparc/leon3Sebastian Huber1-1/+1
End the test on the processor which triggers the test condition. This avoids endless power down loops in the sparc/leon3 BSP.
2021-08-12score: Replace priority prepend it with an enumSebastian Huber1-33/+36
Use the new Priority_Group_order enum instead of a boolean to indicated if a priority should be inserted as the first or last node into its priority group. This makes the code more expressive. It is also a bit more efficient since a branch in _Scheduler_Node_set_priority() is avoided and a simple bitwise or operation can be used.
2021-07-29score: Change _SMP_Send_message() parameter typeSebastian Huber2-5/+11
Use the processor control to specify the target processor since this is what the callers have available.
2021-07-29score: Add _Per_CPU_Submit_job()Sebastian Huber2-10/+3
2021-07-28score: Simplify SMP processor state handlingSebastian Huber4-23/+61
The per-CPU states which control the SMP system initialization were added quite early during the SMP support development. Replace this initial implementation with a simplified one. There is no longer a global SMP lock required which serialized the state changes of all processors. The new implementation better integrates with the per-CPU jobs.
2021-07-28score: Remove processor event broadcast/receiveSebastian Huber5-12/+10
Remove _CPU_SMP_Processor_event_broadcast() and _CPU_SMP_Processor_event_receive(). These functions are hard to use since they are subject to the lost wake up problem.
2021-07-06Update test smpstrongapa01Richi Dubey1-19/+47
Update smpstrongapa01 to account for task shifting.
2021-06-24bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-1/+1
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX. Update #3269.
2021-06-24smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAXSebastian Huber1-1/+1
This define represents the last valid interrupt vector number. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber1-1/+1
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
2021-06-10score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber1-0/+2
Make the initialization of the per-CPU data optional. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
2021-04-27rtems: Change rtems_task_get_affinity() statusSebastian Huber1-1/+1
In case the processor set is not large enough to contain the processor affinity set of the task return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4393.
2021-04-13smpfatal08: block secondary processorsJiri Gaisler1-0/+2
* On some SMP platforms, all cpus are started by the boot-loader. We need to block the secondary cpus or they will clobber the test output.
2021-03-16rtems: Allow initially locked MrsP semaphoresSebastian Huber1-4/+10
Rejecting initially locked MrsP semaphores was due to a limitiation of the early limitiation of the MrsP protocol. This limitation no longer exists.
2021-03-16rtems: Require RTEMS_PRIORITY for MrsP semaphoresSebastian Huber3-7/+8
MrsP semaphores are a generalization of the priority ceiling semaphores for SMP configurations. Priority ceiling semaphores are required to use the priority task wait queue discipline. Require this discipline also for MrsP semaphores. Close #4347.
2021-01-21mrsp: Change error status for a nested seizeSebastian Huber1-1/+1
Return STATUS_DEADLOCK (RTEMS_INCORRECT_STATE) to indicate a nested seize since this is a kind of deadlock. This status code is also used for other deadlocks. Update #4217.
2020-12-09smptests/smpipi01: Fix sporadic test failureSebastian Huber1-0/+7
2020-11-24rtems: Improve rtems_interrupt_server_create()Sebastian Huber1-2/+63
Also start interrupt server tasks on processors which do not have a scheduler. Applications may dynamically manage processors using rtems_scheduler_remove_processor() and rtems_scheduler_add_processor().
2020-11-10smpmulticast01: Fix NULL pointer accessSebastian Huber1-1/+1
2020-10-01tests: Add and use <rtems/testopts.h>Sebastian Huber1-1/+2
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of test suites using the RTEMS Test Framework.
2020-09-14irqs01/smpirqs01: New testsSebastian Huber2-0/+210
Close #4034.
2020-08-18libtest: Change T_step() and T_assert_step()Sebastian Huber1-8/+8
Normally, the expected test step must be a compile time constant. Allow variable expected test steps for the T_step() and T_assert_step(). This can be used for parameterized test loops with individual fixtures. Remove the ability to use custom failure messages due to some implementation constraints. Update #3199.
2020-08-04smpschededf02: Document reset() functionSebastian Huber1-1/+13
2020-07-23libtest: Move <t.h> to <rtems/test.h>Sebastian Huber1-1/+1
Update #3199.
2020-07-23libtest: <rtems/test.h> to <rtems/test-info.h>Sebastian Huber6-6/+6
Rename this header file to later move <t.h> to <rtems/test.h>. The main feature provided by <rtems/test-info.h> is the output of standard test information which is consumed by the RTEMS Tester. Update #3199.
2020-06-11smpsignal01: Change state before sending the signalJan Sommer1-1/+1
The signal handler of the consumer might start executing before rtems_signal_send of the producer returns. Therefore change the state to SIG_1_SENT before sending the signal.
2020-04-16Canonicalize config.h includeSebastian Huber36-36/+36
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2020-02-25config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber1-2/+0
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.
2020-02-14smpschededf02: Improve readabilitySebastian Huber1-66/+74
2020-02-14smpfatal09: Fix test caseSebastian Huber1-6/+0
Update #3838.
2020-02-04bsps: Rework work area initializationSebastian Huber1-4/+29
The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
2020-01-28smptests/smpmulticast01: Fix test configurationSebastian Huber1-1/+1
Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.
2019-12-19config: Improve EDF SMP scheduler configurationSebastian Huber5-7/+7
Use CONFIGURE_MAXIMUM_PROCESSORS to configure the EDF SMP scheduler context. This avoids hard to debug configuration errors resulting in memory corruptions. Close #3815.
2019-12-11rtems: Simplify semaphore configurationSebastian Huber3-3/+0
The MrsP semaphore implementation predates the addition of self-contained synchronization objects. At this time, the potential memory reduction was justified considering the more complex configuration and additional use of the workspace. With the availability of self-contained synchronization options, e.g. POSIX mutexes, this is no longer justified. Memory constrained applications should use the self-contained synchronization objects. Remove the CONFIGURE_MAXIMUM_MRSP_SEMAPHORES configuration option. This has only an impact on applications which use SMP and a large number of scheduler instances. Update #3833.
2019-12-05libtest: Change expected pass state stringSebastian Huber5-5/+5
Use separator character '_' for all test states.
2019-11-12tests: Remove superfluous SMPTESTS defineSebastian Huber1-7/+7
Update #3818.
2019-05-20score: Add _SMP_Unicast_action()Sebastian Huber2-43/+151
2019-05-20score: Add _SMP_Synchronize()Sebastian Huber1-3/+4
2019-05-20smpipi01: Use per-CPU jobs for IPI flood testSebastian Huber1-9/+38
2019-05-20smpipi01: Ensure IPI works on all processorsSebastian Huber1-8/+21
2019-05-20smpipi01: Use per-CPU jobs for pending IPI testSebastian Huber1-15/+35
2019-05-20score: Modify _Per_CPU_Perform_jobs()Sebastian Huber1-0/+41
Process only the jobs initially registered on the processing list. This makes it possible to add jobs for the current processor in a job handler. These jobs are processed with the next SMP_MESSAGE_PERFORM_JOBS message. The lock is only acquired and released once.
2019-05-20score: Add _Per_CPU_Add_job()Sebastian Huber1-0/+43
2019-05-20score: Simplify _SMP_Multicast_action()Sebastian Huber1-10/+4
Move resposibility to disable thread dispatching to the caller of _SMP_Multicast_action(). Using an interrupt disable for this purpose is questionable.
2019-05-20score: Add _SMP_Broadcast_action()Sebastian Huber1-8/+32
2019-05-20smptests: Move SMP broadcast action test caseSebastian Huber2-51/+79
2019-05-20smpmulticast01: Use T_TEST_CASE()Sebastian Huber1-22/+27
2019-04-12score: More robust _SMP_Multicast_action()Sebastian Huber2-7/+1
If the caller already disabled interrupts, then do not disable thread dispatching. Calling _SMP_Multicast_action() with interrupts disabled is a questionable use case.