Commit Graph

30201 Commits

Author SHA1 Message Date
Sebastian Huber
0154dea369 tmtests/tmfine01: Update screen file
Add plot script.
2016-11-03 10:02:39 +01:00
Sebastian Huber
d505fbbd31 smptests/smplock01: Update screen file 2016-11-03 10:02:39 +01:00
Sebastian Huber
86d3a2e8a0 testsupport: Determine worker index via processor
Determine worker index via the current processor index to get consistent
job runs with respect to the cache topology.
2016-11-03 10:02:39 +01:00
Sebastian Huber
63e2ca1b8b score: Simplify yield and unblock scheduler ops
Update #2556.
2016-11-02 10:05:45 +01:00
Sebastian Huber
2dd098a635 score: Introduce Thread_Scheduler_control::home
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.

Update #2556.
2016-11-02 10:05:45 +01:00
Sebastian Huber
7f7424329e score: Delete Thread_Scheduler_control::own_node
Update #2556.
2016-11-02 10:05:45 +01:00
Sebastian Huber
c0f1f52763 score: Delete Thread_Scheduler_control::node
Update #2556.
2016-11-02 10:05:45 +01:00
Sebastian Huber
b5f1b24902 score: Delete Scheduler_Node::accepts_help
Update #2556.
2016-11-02 10:05:45 +01:00
Sebastian Huber
1cafc46646 score: Delete Resource Handler
Update #2556.
2016-11-02 10:05:44 +01:00
Sebastian Huber
6771359fa1 score: Second part of new MrsP implementation
Update #2556.
2016-11-02 10:05:44 +01:00
Sebastian Huber
0e754facf4 score: Delete unused scheduler ask for help X op 2016-11-02 10:05:44 +01:00
Sebastian Huber
9c238e1bd4 score: Simplify update priority scheduler op
Remove unused return status.
2016-11-02 10:05:44 +01:00
Sebastian Huber
97f7dac660 score: Delete _Scheduler_Ask_for_help_if_necessary
Delete Thread_Control::Resource_node.

Update #2556.
2016-11-02 10:05:44 +01:00
Sebastian Huber
73a193fdd6 score: Delete unused functions
Delete _Scheduler_Thread_change_resource_root() and
_Scheduler_Thread_change_help_state().

Update #2556.
2016-11-02 10:05:43 +01:00
Sebastian Huber
3a27248054 score: First part of new MrsP implementation
Update #2556.
2016-11-02 10:05:43 +01:00
Sebastian Huber
913864c0b8 score: Use scheduler instance specific locks
Update #2556.
2016-11-02 10:05:43 +01:00
Sebastian Huber
6a82f1ae8c score: Yield support for new SMP helping protocol
Update #2556.
2016-11-02 10:05:43 +01:00
Sebastian Huber
351c14dfd0 score: Add new SMP scheduler helping protocol
Update #2556.
2016-11-02 10:05:43 +01:00
Sebastian Huber
240347331d score: Add _Thread_Scheduler_process_requests()
Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber
ebdd2a3431 score: Add scheduler node requests
Add the ability to add/remove scheduler nodes to/from the set of
scheduler nodes available to the schedulers for a particular thread.

Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber
edb020ca67 score: Protect thread CPU by thread scheduler lock
Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber
a7a8ec0325 score: Protect thread scheduler state changes
Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber
07a32d1932 score: Add thread scheduler lock
Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber
70c22d9395 score: Add _Thread_Scheduler_remove_wait_node()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
36d7abad13 score: Add _Thread_Scheduler_add_wait_node()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
1c9688a9a1 score: Add _Scheduler_Node_get_scheduler()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
3a724113f9 score: Simplify _Scheduler_SMP_Node_change_state()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
72e0bdba45 score: Pass scheduler node to unblock operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
e382a1bfcc score: Pass scheduler node to block operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber
2df4abcee2 score: Pass scheduler node to yield operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:40 +01:00
Sebastian Huber
501043a18b score: Pass scheduler node to update priority op
This enables to call this scheduler operation for all scheduler nodes
available to a thread.

Update #2556.
2016-11-02 10:05:40 +01:00
Sebastian Huber
d097b54633 score: Rename scheduler ask for help stuff
Rename the scheduler ask for help stuff since this will be replaced step
by step with a second generation of the scheduler helping protocol.
Keep the old one for now in parallel to reduce the patch set sizes.

Update #2556.
2016-11-02 10:05:40 +01:00
Sebastian Huber
d057d6537f score: Fix _Scheduler_Try_to_schedule_node() usage
Fix wrong use of continue statement in while loops.
2016-11-02 10:05:40 +01:00
Sebastian Huber
fac8a3a463 bsps/sparc: Fix copy of initialized data
The text and data sections may have different alignment requirements.
Support a data section alignment greater than 16.
2016-11-02 10:05:40 +01:00
Sebastian Huber
b7694c8c9b sptests/sp35: Remove dead code 2016-11-02 08:46:49 +01:00
Sebastian Huber
4cf58905b8 cpuuse: Use rtems_task_iterate()
Update #2423.
2016-11-02 08:46:48 +01:00
Sebastian Huber
d271c3bb78 rtems: Add rtems_task_iterate()
Update #2423.
2016-11-02 08:46:47 +01:00
Sebastian Huber
bb9f09f34c posix: Fix timer interval
Do not overwrite timer interval with initial interval in
_POSIX_Timer_Insert().

Close #2798.
2016-10-31 13:09:56 +01:00
Sebastian Huber
3e9f4c9232 posix: Fix timeout handling in sigtimedwait()
Update #2798.
2016-10-31 13:09:50 +01:00
Sebastian Huber
7eec247c35 smptests/smplock01: Use test support
Convert output to XML.
2016-10-31 13:09:42 +01:00
Sebastian Huber
1aae680bec sys/sockio.h: Update to FreeBSD head 2016-05-03 2016-10-26 14:05:53 +02:00
Sebastian Huber
505eb557f0 sys/uio.h: Update to FreeBSD head 2015-12-03 2016-10-26 14:05:49 +02:00
Sebastian Huber
8b8d05f4ca sys/event.h: Update to FreeBSD head 2016-06-27 2016-10-26 14:05:44 +02:00
James
fc718cb83a Updated xilinx_zynq_a9_qemu bsp README instructions. 2016-10-25 11:01:41 -04:00
Sebastian Huber
f94155b8ec bsps/sparc: Add interrupt controller registers 2016-10-19 00:22:57 +02:00
Sebastian Huber
93614125c5 bsp/leon3: Avoid implicit integer conversions 2016-10-19 00:21:21 +02:00
Alexander Krutwig
24fe2130d7 atsam: multiple messages on one cs low level 2016-10-17 14:48:43 +02:00
Pavel Pisa
dfcec5595f libchip/network/if_fxp.c: do not use rtems_interrupt_disable.
The single write to memory or ioport output are mostly
atomic operations already. The proper memory synchronization barrier
should be used around them to guarantee ordering (sync or eieio
on PowerPC for example) but because I have not found settable
portable primitive only compiler barrier is used.
It should be enough on x86 because the externally visible order
should be/is guaranteed to be preserved on x86 architecture.
2016-10-17 09:41:58 +02:00
Pavel Pisa
20625a581d bsps/i386: use Pentimum instructions for pc586 and pc686 builds.
When GCC option -march is not specifies i386-rtems toolchain
defaults to i386 architecture instruction set. It does not
provide atomic instructions which results in really inefficient
atomic_fetch_or even on UP build.

SMP build is broken with i386 set because libatomic and GCC
generate infinite loop for __atomic_fetch_add_4 used
in rtems_interrupt_lock_acquire

__atomic_fetch_add_4:
    push   %ebp
    mov    %esp,%ebp
    movl   $0x5,0x10(%ebp)
    pop    %ebp
    jmp    __atomic_fetch_add_4
2016-10-17 09:41:58 +02:00
Pavel Pisa
6b54dcbbef bsps/i386: replace global interrupt disable by SMP build supporting locking. 2016-10-17 09:41:58 +02:00