Commit Graph

29843 Commits

Author SHA1 Message Date
Chris Johns
3a30c6fa5c Fix untar mkdir when the directory exists. 2016-11-18 09:10:20 +11:00
Christian Mauderer
bb5d97f3eb bsp/atsamv: Make size of nocache-memory configurable. 2016-11-17 15:18:03 +01:00
Jiri Gaisler
316da9356a rtl-mdreloc-sparc.c: Do not print unaligned pointer and cause unaligned access.
updates #2802.
2016-11-14 08:21:12 -06:00
Sebastian Huber
38a1449fd4 powerpc: Add _CPU_Get_current_per_CPU_control()
Add _CPU_Get_current_per_CPU_control() on SMP configurations.  Use SPRG0
for the current per-CPU control.  This reduces the code size by three
instructions and is slightly faster.

Update #2805.
2016-11-10 09:58:37 +01:00
Sebastian Huber
58bced64b9 score: Move _CPU_Get_current_per_CPU_control()
Move _CPU_Get_current_per_CPU_control() from <rtems/score/cpu.h> to
<rtems/score/cpuimpl.h>.
2016-11-10 09:22:18 +01:00
Sebastian Huber
05ca53ddf6 rtems: Add scheduler processor add/remove
Update #2797.
2016-11-10 09:22:09 +01:00
Sebastian Huber
1f5bee3d85 score: Add and use Thread_Control::is_idle
Update #2797.
2016-11-09 15:27:30 +01:00
Sebastian Huber
e6107854b2 score: Rename _Scheduler_Assignments
Rename _Scheduler_Assignments into _Scheduler_Initial_assignments to
make it clear that they may not reflect the run-time scheduler
assignment.

Update #2797.
2016-11-09 15:27:29 +01:00
Sebastian Huber
68ef65bd5e score: Clarify _Scheduler_SMP_Start_idle() 2016-11-09 15:27:29 +01:00
Sebastian Huber
1c46b80329 score: Add scheduler to per-CPU information
This makes it possible to adjust the scheduler of a processor at
run-time.

Update #2797.
2016-11-09 15:27:29 +01:00
Sebastian Huber
f20dfa8fcd score: Avoid _Scheduler_Get_by_CPU_index( 0 )
Avoid use of processor index 0 which may have no scheduler assigned.
2016-11-09 15:27:29 +01:00
Sebastian Huber
2612a0bf5b score: Simplify _Scheduler_Get_by_id()
Avoid dead code in non-SMP configurations.  Return scheduler identifier
independent of the current processor count of the scheduler via
rtems_scheduler_ident(), since this value may change during run-time.
Check the processor count in _Scheduler_Set() under scheduler lock
protection.

Update #2797.
2016-11-09 15:27:29 +01:00
Sebastian Huber
16b14cfdf8 score: Fix _MRSP_Initialize()
The ceiling priorities must be initialized by scheduler index.  Do not
confuse it with a processor index.
2016-11-09 15:27:28 +01:00
Sebastian Huber
947814cae7 mpci: Use the first scheduler for MPCI
Avoid use of processor index 0 which may have no scheduler assigned.
2016-11-09 15:27:28 +01:00
Sebastian Huber
2f5ac5b507 rtems: Fix rtems_task_create() scheduler selection
Use the home scheduler of the executing thread for the created thread.
This is in line with pthread_create().  Using the current processor may
pick up an unexpected scheduler in case of a temporary migration, e.g.
due to locking protocols.
2016-11-09 15:27:28 +01:00
Sebastian Huber
eb98dd49bc score: Inline some SMP lock operations by default
The SMP ticket lock release turned out to be suitable for inlining, e.g.
a hand full of instructions, no branches.

The changes in the screen files do not reflect the changes due to this
commit.  However, they are now up to date.  Obtained on a T4240 running
at 1.5GHz using GCC 7.0.0 20161108..
2016-11-09 15:19:59 +01:00
Sebastian Huber
6de41c5fe9 Provide kernel space header files
These kernel space header files must be provided for Newlib
172e2050d95b41861db858dd9bc43a3fb4a28987.
2016-11-08 10:15:28 +01:00
Sebastian Huber
6cb234f079 bsp/qoriq: Remove duplicate qoriq_gpio definition
Close #2800.
2016-11-07 09:31:35 +01:00
Sebastian Huber
7790d95f0a sparc: Provide _CPU_Get_thread_executing() 2016-11-07 07:39:42 +01:00
Sebastian Huber
df48ed2cba score: Add optional _CPU_Get_thread_executing() 2016-11-07 07:39:42 +01:00
Sebastian Huber
edbd43c613 score: Prevent assignment to _Thread_Executing 2016-11-07 07:39:41 +01:00
Sebastian Huber
df63fbd1ac score: Add <rtems/score/cpuimpl.h>
The aim of this file is to encapsulate CPU port implementation details.
This helps to hide implementation details from <rtems.h> which
indirectly includes <rtems/score/cpu.h>.
2016-11-07 07:39:41 +01:00
Sebastian Huber
ee42943cd0 score: Optimize self-contained mutexes 2016-11-04 10:54:53 +01:00
Sebastian Huber
e7ab43d46f score: Use non-inline thread queue lock ops
This reduces the code size and helps to reduce the amount of testing.
Hot paths can use the _Thread_queue_Queue_acquire_critical() and
_Thread_queue_Queue_release_critical() functions which are still inline.
2016-11-04 10:54:52 +01:00
Sebastian Huber
347ef92898 score: Provide inline variants for ISR lock ops 2016-11-04 10:54:52 +01:00
Sebastian Huber
9cd53495d2 score: Default to non-inline SMP lock ops
Use non-inline SMP lock acquire and release operations by default.
Provide inline variants for the hot spots, e.g. mutex acquire/release.
2016-11-04 10:54:52 +01:00
Sebastian Huber
9597c4ed56 Size optimization for resource snapshots
Do not reference the objects information directly.
2016-11-04 10:54:52 +01:00
Sebastian Huber
8b18b8eb67 posix: Fix _POSIX_RWLock_Manager_initialization()
Use right object class.
2016-11-04 10:54:52 +01:00
Sebastian Huber
76ad5e0c44 score: Fix _Scheduler_Try_to_schedule_node()
In case the thread is scheduled and the sticky level is greater than
one, then we must use an idle thread for correctness of MrsP.
2016-11-04 08:34:11 +01:00
Tim Cussins
11ae6f94f8 virtex4, virtex5 bsp.h: Use BSP_INTERRUPT_STACK_SIZE not user space CONFIGURE_INTERRUPT_STACK_SIZE
closes #2801.
2016-11-03 12:49:12 -05:00
Joel Sherrill
8cf2f8b6f3 testsuites/testdata/dltests-broken-on-this-bsp.tcfg: Add new dl tests 03-05 2016-11-03 10:56:09 -05:00
Joel Sherrill
0df50a6c99 m68k/mrm332/make/custom/mrm332-testsuite.tcfg: Add dl05 2016-11-03 10:56:09 -05:00
Joel Sherrill
c27986335c m68k/mcf5225x/make/custom/mcf5225x-testsuite.tcfg: Add dl05 2016-11-03 10:56:09 -05:00
Joel Sherrill
fbf45431ae m68k/mcf52235/make/custom/mcf52235-testsuite.tcfg: Add dl05 2016-11-03 10:56:09 -05:00
Joel Sherrill
710302ae48 mcf5206elite/make/custom/mcf5206elite-testsuite.tcfg: Add dl05 2016-11-03 10:56:08 -05:00
Joel Sherrill
c7589640f9 moxiesim/bsp_specs: Add crtbegin/end to fix link issues 2016-11-03 10:56:08 -05:00
Sebastian Huber
afa92ab764 score: Add _Watchdog_Ticks_from_sbintime
Necessary to support a network stack update to FreeBSD 12.
2016-11-03 15:02:42 +01:00
Sebastian Huber
9599b4683d score: Delete unused _Scheduler_Is_id_valid() 2016-11-03 11:23:49 +01:00
Sebastian Huber
47d246436f score: Conditionally enable thread resource count
Maintain the thread resource count only in debug configurations.  This
is a performance optimization for non-debug configurations.
2016-11-03 11:23:30 +01:00
Sebastian Huber
9e7fa07169 score: Relax _Scheduler_Set() restrictions
No longer unconditionally prevent scheduler changes if the thread owns
resources.  Prevent a scheduler change only in case other threads wait
for the resource.
2016-11-03 11:19:34 +01:00
Sebastian Huber
0dd49d0015 score: Introduce thread resource count methods
This makes it easier to conditionally enable/disable the thread resource
count usage.
2016-11-03 10:55:48 +01:00
Sebastian Huber
6e31b56f95 rtems: Fix binary semaphore resource count
Binary semaphores (not simple binary semaphores) maintain the resource
count since 8797c76add.  Do this also for
initially locked binary semaphores.
2016-11-03 10:55:31 +01:00
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