Commit Graph

28267 Commits

Author SHA1 Message Date
Sebastian Huber
2b0bbc4a65 libcsupport: Avoid Giant lock in rtems_verror() 2015-05-19 12:00:44 +02:00
Sebastian Huber
c07c85f4f2 Filesystem: Use lock for deferred release 2015-05-19 12:00:44 +02:00
Sebastian Huber
5f7f469a96 libcsupport: Avoid Giant lock in _times() 2015-05-19 12:00:43 +02:00
Sebastian Huber
d5a9c808f0 rtems: Use once mutex for timer server init 2015-05-19 12:00:43 +02:00
Sebastian Huber
a382010c62 score: New timer server implementation
Use mostly the standard watchdog operations.  Use a system event for
synchronization.  This implementation is simpler and offers better SMP
performance.

Close #2131.
2015-05-19 12:00:43 +02:00
Sebastian Huber
fd53d2514e score: Move _Watchdog_Tickle()
Make internal function _Watchdog_Remove_it() static to avoid accidental
usage.

Update #2307.
2015-05-19 12:00:43 +02:00
Sebastian Huber
1ccbd05291 score: Add Watchdog_Iterator
Rewrite the _Watchdog_Insert(), _Watchdog_Remove() and
_Watchdog_Tickle() functions to use iterator items to synchronize
concurrent operations.  This makes it possible to get rid of the global
variables _Watchdog_Sync_level and _Watchdog_Sync_count which are a
blocking point for scalable SMP solutions.

Update #2307.
2015-05-19 12:00:43 +02:00
Sebastian Huber
6d2539413b score: Add _Watchdog_Acquire|Release|Flash()
Update #2307.
2015-05-19 12:00:42 +02:00
Sebastian Huber
290309014c score: Add header to _Watchdog_Remove()
Add watchdog header parameter to _Watchdog_Remove() to be in line with
the other operations.  Add _Watchdog_Remove_ticks() and
_Watchdog_Remove_seconds() for convenience.

Update #2307.
2015-05-19 12:00:42 +02:00
Sebastian Huber
a61d38501a score: Optimize _Thread_queue_Compare_priority() 2015-05-19 12:00:42 +02:00
Sebastian Huber
56729d83c9 score: Delete STATES_WAITING_ON_THREAD_QUEUE
Avoid the usage of the current thread state in
_Thread_queue_Extract_with_return_code() since thread queues should not
know anything about thread states.
2015-05-19 12:00:42 +02:00
Sebastian Huber
22788bc2ba score: _Thread_queue_Extract()
Remove thread queue parameter from _Thread_queue_Extract() since the
current thread queue is stored in the thread control block.
2015-05-19 12:00:42 +02:00
Sebastian Huber
cf255ff0b2 score: Add _SMP_Assert() 2015-05-19 12:00:42 +02:00
Sebastian Huber
7e19330e30 score: Fix assert 2015-05-19 11:37:26 +02:00
Joel Sherrill
e893061c2d Merge branch 'master' of ssh://dispatch.rtems.org/data/git/rtems 2015-05-18 18:17:09 -05:00
Sebastian Huber
b1b5ddf028 smptests/smpcache01: Restructure
Restructure to avoid large maximum thread dispatch disabled times.
2015-05-15 13:23:03 +02:00
Joel Sherrill
441e8ef21d Merge branch 'master' of ssh://dispatch.rtems.org/data/git/rtems 2015-05-14 06:41:00 -07:00
Joel Sherrill
b7f3ee9264 README:XXX 2015-05-14 06:40:45 -07:00
Sebastian Huber
a0001d64fe Remove obsolete rtems_clock_major/minor
These global variables are obsolete since
65f71f8472.
2015-05-14 11:17:00 +02:00
Sebastian Huber
47c9c083ed score: Avoid Giant lock in _Objects_Id_to_name()
This prevents a deadlock situation in the capture engine.
2015-05-12 10:53:47 +02:00
Sebastian Huber
be0366bb62 score: Fix scheduler helping protocol
Account for priority changes of threads executing in a foreign
partition.  Exchange idle threads in case a victim node uses an idle
thread and the new scheduled node needs an idle thread.
2015-05-11 08:58:40 +02:00
Joel Sherrill
438e78e8c0 mrm332-testsuite.tcfg: Add fileio 2015-05-07 08:31:29 -05:00
Alexander Krutwig
5b9dfff50b sptests/spcontext01: Check FPU task combinations 2015-05-07 08:34:16 +02:00
Sebastian Huber
a6502a58e6 score: Fix Thread_Control and Thread_Proxy_control
Fix layout of the common block of Thread_Control and
Thread_Proxy_control.  Ensure that the offsets match.
2015-05-06 11:54:19 +02:00
Sebastian Huber
c639cf2378 score: Delete unused Thread_queue_Timeout_callout 2015-04-30 15:26:23 +02:00
Chris Johns
a8e4352e6a libmisc/cpuuse: Top support for current load.
The cpuuse top command now supports the current load where the list of
tasks is ordered based on the current load rather than the total cpu usage.
This lets you see what is using the processor at any specific instance.

The ability to sort on a range of thread values is now supported.

Added memory usage stats for unified and separate workspace and C heaps as
well as displaying the allocated stack space.

Added a few more command keys to refresh the display, show all tasks in the
system, control the lines display and a scrolling mode that does not clear
the display on each refresh.

Removed support for tick kernel builds. The tick support in the kernel is to
be removed.
2015-04-29 15:24:00 +10:00
Sebastian Huber
40d24d54ab sptests/spstkalloc02: Fix namespace issue
Avoid collision with <sys/param.h> defined PAGE_SIZE.
2015-04-27 10:17:31 +02:00
Sebastian Huber
7f53035504 bsps/sparc: Use inline functions for cache manager 2015-04-27 10:11:47 +02:00
Sebastian Huber
4bf2a6aa09 bsps/cache: Clarify range functions support 2015-04-27 09:40:16 +02:00
Hesham ALMatary
1602bf3973 Fix broken BSPs due to a shared cache function declaration.
Get rid of _CPU_cache_invalidate_instruction_range declaration
as it doesn't make sense here.
2015-04-27 09:25:39 +02:00
Sebastian Huber
f60b4f9344 dosfs: Fix warning fix 2015-04-27 09:10:49 +02:00
Hesham ALMatary
3dead51edd Fix or1k C++ build failure
Closes #2329
2015-04-26 12:44:12 -05:00
Sebastian Huber
d83127e9bd posix: Use right thread dispatch disable function 2015-04-24 08:36:52 +02:00
Sebastian Huber
f32935335a score: Fix POSIX thread join
A thread join is twofold.  There is one thread that exists and an
arbitrary number of threads that wait for the thread exit (one-to-many
relation).  The exiting thread may want to wait for a thread that wants
to join its exit (STATES_WAITING_FOR_JOIN_AT_EXIT in
_POSIX_Thread_Exit()).  On the other side we need a thread queue for all
the threads that wait for the exit of one particular thread
(STATES_WAITING_FOR_JOIN in pthread_join()).

Update #2035.
2015-04-23 21:42:13 +02:00
Joel Sherrill
694f155589 sp13/system.h: Account for all message buffers
There may be a way to reduce the memory requirements but it
will require time to ensure the math is right and it passes
on all targets. At the current time, it fails on 22 BSPs which
run on simulators.
2015-04-23 12:48:04 -05:00
Joel Sherrill
5a8cd17d3c simsh*.tcfg: Add iostream 2015-04-23 12:48:04 -05:00
Joel Sherrill
d9ef7ebe11 gensh2-testsuite.tcfg: Add iostream 2015-04-23 12:48:04 -05:00
Joel Sherrill
07d9954b61 gensh1-testsuite.tcfg: Add iostream 2015-04-23 12:48:03 -05:00
Joel Sherrill
ba885bde9f mbx8xx/include/bsp.h: Add include of <rtems/irq.h> 2015-04-23 12:48:03 -05:00
Joel Sherrill
9a9614e5c9 ods68302-testsuite.tcfg: Add iosteam 2015-04-23 12:48:03 -05:00
Joel Sherrill
f620ac7a0e mrm332-testsuite.tcfg: Add iostream and sptls02 2015-04-23 12:48:03 -05:00
Joel Sherrill
0c87234fa9 mcf5225x-testsuite.tcfg: Add iostream 2015-04-23 12:48:02 -05:00
Joel Sherrill
e38fdc22e8 lpc1768_mbed_ahb_ram_eth-testsuite.tcfg: Add sptls02 2015-04-23 12:48:02 -05:00
Joel Sherrill
2e9baac047 lm3s3749-testsuite.tcfg: Add cdtest 2015-04-23 12:48:02 -05:00
Sebastian Huber
9cac9c5105 score: Delete _Thread_queue_Dequeue_priority() 2015-04-23 13:09:56 +02:00
Sebastian Huber
be6c4611ac score: _CORE_mutex_Seize_interrupt_blocking()
Move some code into _CORE_mutex_Seize_interrupt_blocking() so that the
thread queue handling is in one place.
2015-04-23 10:28:52 +02:00
Sebastian Huber
9f10911d2b score: Delete Thread_queue_Control::state
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
2015-04-23 08:55:43 +02:00
Sebastian Huber
d349e8a439 score: Fix priority message queue insert
Move the linear search into a critical section to avoid corruption due
to higher priority interrupts.  The interrupt disable time depends now
on the count of pending messages.

Close #2328.
2015-04-23 08:54:09 +02:00
Sebastian Huber
b0686b473d score: Delete _CORE_RWLock_Timeout()
This function was identical to _Thread_queue_Timeout().  This makes
_Thread_queue_Enqueue_with_handler() obsolete.
2015-04-22 13:58:32 +02:00
Sebastian Huber
49d436497e score: Delete bogus THREAD_QUEUE_WAIT_FOREVER
It makes no sense to use this indirection since the type for timeout
values is Watchdog_Interval.
2015-04-22 11:38:57 +02:00