Sebastian Huber
77c5ddd496
smptests/smpmrsp01: Fix task delete race condition
...
Do not supsend self while waiting for termination since the
rtems_task_delete() may take place while the rtems_task_suspend() waits
for the Giant lock preventing delivery of the inter-processor interrupt.
The result is a suspended and terminated thread (this is a valid state,
but leads in this case to a test failure).
2015-01-14 07:40:49 +01:00
Sebastian Huber
e7d175affb
smptests/smpwakeafter01: Fix task count
2015-01-09 14:03:32 +01:00
Sebastian Huber
ad0743db07
smptests/smpmrsp01: Update run indicator only once
...
On the Freescale T2080 the excessive concurrent write/read lead to a
livelock condition.
2015-01-09 14:03:32 +01:00
Sebastian Huber
864d3475a5
smp: Fix timeout for MrsP semaphores
...
The previous timeout handling was flawed. In case a waiting thread
helped out the owner could use the scheduler node indefinitely long.
Update the resource tree in _MRSP_Timeout() to avoid this issue.
Bug reported by Luca Bonato.
2014-12-18 08:33:29 +01:00
Sebastian Huber
1207288022
Update bug report URL
2014-12-05 07:47:32 +01:00
Sebastian Huber
0ff1c29d96
smptests/smpmrsp01: Use busy waits
...
Use busy waits instead of sleeps to avoid unnecessary switches to the
idle thread.
2014-11-27 10:33:31 +01:00
Sebastian Huber
5bd822a779
smp: Fix scheduler helping protocol
...
Ensure that scheduler nodes in the SCHEDULER_HELP_ACTIVE_OWNER or
SCHEDULER_HELP_ACTIVE_RIVAL helping state are always
SCHEDULER_SMP_NODE_READY or SCHEDULER_SMP_NODE_SCHEDULED to ensure the
MrsP protocol properties.
2014-11-27 10:33:31 +01:00
Jennifer Averett
39af57c3f7
smp09: Resolve missing prototype warning.
2014-11-25 14:44:59 -06:00
Jennifer Averett
6291e9627e
smp07: Resolve missing prototype warning.
2014-11-25 14:44:59 -06:00
Jennifer Averett
2c474a056f
smp05: Resolve missing prototype warning.
2014-11-25 14:44:59 -06:00
Jennifer Averett
441dc1c1ad
smp02: Resolve unused method warnings.
2014-11-25 14:44:59 -06:00
Jennifer Averett
4375b3b660
smp03: Remove set but not used warning.
...
Added status validation.
2014-11-25 14:44:59 -06:00
Jennifer Averett
689cba286f
smpschedsem01: Remove unused variable warning.
2014-11-25 14:44:59 -06:00
Jennifer Averett
15e371fe67
smpschedaffinity02: Remove unused prototype.
2014-11-25 14:44:59 -06:00
Jennifer Averett
44da98f08f
smpcapture01: New test.
2014-11-24 14:04:54 -06:00
Luca Bonato
cceb19f4e5
smp: Fix scheduler helping protocol
...
New test case for smptests/smpmrsp01.
Fix _Scheduler_Block_node() in case the node is in the
SCHEDULER_HELP_ACTIVE_RIVAL helping state. For example a
rtems_task_suspend() on a task waiting for a MrsP semaphore.
Fix _Scheduler_Unblock_node() in case the node is in the
SCHEDULER_SMP_NODE_READY state. For example a rtems_task_resume() on a
task owning or waiting for a MrsP semaphore.
2014-11-24 08:01:15 +01:00
Jennifer Averett
db44590c1d
smpschedaffinity05: Change semaphore attributes.
...
Change semaphore attributes to resolve problem where semaphore is not
released upon a context switch.
2014-11-20 13:47:03 -06:00
Jennifer Averett
1960dcb9b2
smpschedaffinity04: Change semaphore attributes.
...
Change semaphore attributes to prevent semaphore from being
locked and never released upon a context switch.
2014-11-20 13:47:03 -06:00
Jennifer Averett
bc95f81699
smpschedaffinity02: Change semaphore attributes.
...
Change semaphore attributes to prevent semaphore from being
locked and never released upon a context switch.
2014-11-20 13:47:03 -06:00
Sebastian Huber
d412e2f025
smptests/smpfatal03: Wait for end of test msg
2014-10-24 09:18:38 +02:00
Sebastian Huber
092b8c57e6
tests/smptests: Normal use of test extension
2014-10-24 07:21:51 +02:00
Sebastian Huber
17889b257c
tests/smptests: Use barriers in smpfatal0{12}
...
Call the test extension explicitly and wait for report output using a
barrier. This avoids problems with an early shutdown of the system.
2014-10-23 17:15:47 +02:00
Sebastian Huber
8f0a2c995b
smptests/smpload01: Report profiling only once
...
Rely on test extension to report profiling.
2014-09-17 10:31:30 +02:00
Daniel Cederman
6e1206ab46
smptests/smpcache01: Remove invalidation of data cache lines from test
...
Invalidation of entire data cache might cause data written to the stack
to get lost.
2014-09-16 10:29:42 +02:00
Sebastian Huber
5689d723a8
smptests/smplock01: Update screen file
2014-09-01 16:12:42 +02:00
Sebastian Huber
4030cccfef
tests: Add documentation
2014-09-01 11:01:04 +02:00
Sebastian Huber
c147a139c6
smptests/smpfatal08: Fix link error
2014-09-01 08:45:23 +02:00
Daniel Cederman
9a9ab85b45
smptests/smpcache01: Test the SMP cache manager
...
Invokes SMP cache management routines under different scenarios.
2014-08-22 13:10:59 +02:00
Jennifer Averett
247118bf51
smpschedsem01: new test.
...
This test verifies priority is inherited from a high priority
semaphore by a lower priority task.
2014-07-11 10:12:48 -05:00
Jennifer Averett
7eb3fd4782
smpschedaffinity05: Add test for worst case migration for affintiy scheduler.
...
This test uses a combination of priority and affinity to cause
the tasks running on all 4 cores to change due to one task priority
change.
2014-07-11 10:12:48 -05:00
Jennifer Averett
61d26f939d
smpschedaffinity04: New test.
...
This test walks a secondary high prority task across
all the cores.
2014-07-11 10:12:48 -05:00
Jennifer Averett
28d6674966
smpschedaffinity03: New test.
...
This task walks the affinity of self across all the cores.
2014-07-11 10:12:48 -05:00
Jennifer Averett
0929306933
smpschedaffinity02: New test.
...
This test checks setting the affinity of a secondary task
on a two core system.
2014-07-11 10:12:48 -05:00
Jennifer Averett
d88b0e7fc8
smpschedaffinity01: New test.
...
This test verifies that affinity is honored when set prior to task start.
2014-07-11 10:12:47 -05:00
Sebastian Huber
27783f6ca8
score: Fix scheduler helping implementation
...
Do not extract the idle threads from the ready set so that there is
always a thread available for comparison.
2014-07-10 15:29:57 +02:00
Sebastian Huber
9f228beaa6
smptests/smpmrsp01: Add and update test cases
2014-07-09 10:05:21 +02:00
Sebastian Huber
8568341d69
score: Need for help indicator for scheduler ops
...
Return a thread in need for help for the following scheduler operations
- unblock,
- change priority, and
- yield.
A thread in need for help is a thread that encounters a scheduler state
change from scheduled to ready or a thread that cannot be scheduled in
an unblock operation. Such a thread can ask threads which depend on
resources owned by this thread for help.
2014-07-08 16:30:48 +02:00
Sebastian Huber
08d9760daf
score: Rename *_Node_get() to *_Thread_get_node()
...
This emphasizes that the scheduler node of a thread is returned and this
is not a function working with scheduler nodes like the other *_Node_*()
functions.
2014-07-08 16:30:48 +02:00
Sebastian Huber
0b4ec4d74e
smptests/smpfatal08: Support RTEMS_PARAVIRT
2014-06-30 12:30:12 +02:00
Sebastian Huber
b42e148587
smptests/smpmigration02: PR2183: Add test case
2014-06-24 09:53:11 +02:00
Sebastian Huber
a92989a8bd
score: Fix thread deletion on SMP
...
Close the thread object in _Thread_Make_zombie() so that all blocking
operations that use _Thread_Get() in the corresponding release directive
can find a terminating thread and can complete the operation.
2014-06-23 09:54:05 +02:00
Sebastian Huber
2d36931823
score: Collect scheduler related fields in TCB
...
Add Thread_Scheduler_control to collect scheduler related fields of the
TCB.
2014-06-23 09:13:00 +02:00
Sebastian Huber
bd56356b58
smptests/smpwakeafter01: New test
2014-06-18 14:03:59 +02:00
Sebastian Huber
11947299a0
smptests: Avoid use of uninitialized data
2014-06-13 16:07:47 +02:00
Sebastian Huber
4962d24d62
smptests/smpscheduler03: Test all SMP schedulers
2014-06-12 10:02:10 +02:00
Sebastian Huber
2a2a16951e
smptest/smpfatal03: Update due to API changes
2014-06-10 11:42:19 +02:00
Christian Mauderer
5abe5a8122
smptests/smpthreadlife01: Fix for debug enabled
2014-06-03 08:17:12 +02:00
Christian Mauderer
1ee0d5f719
smptests/smpmrsp01: Fix scheduler ids
2014-06-03 08:16:09 +02:00
Sebastian Huber
9553e7a60d
score: Use Resource Handler for MrsP semaphores
...
This enables proper resource dependency tracking and as a side-effect
deadlock detection.
2014-06-03 08:15:16 +02:00
Sebastian Huber
25f5730fe5
score: _Scheduler_Set_affinity()
...
Do not change the scheduler with this function. Documentation. Coding
style.
2014-06-02 08:28:42 +02:00