summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Rework _Thread_Restart_other()Sebastian Huber2016-05-201-1/+1
| | | | | | | | | Rework _Thread_Restart_other() to use _Thread_Change_life_locked(). Cope with concurrent change requests by means of a pending request counter. Update #2555. Update #2626.
* score: Add _Thread_Join() and _Thread_Cancel()Sebastian Huber2016-05-201-1/+0
| | | | | | | | Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to prepare for a re-use in pthread_join() and pthread_cancel(). Update #2555. Update #2626.
* capture: Fix use of per-processor dataSebastian Huber2016-05-122-27/+31
| | | | | | Get the current processor index only once and with interrupts disabled. Close #2707.
* capture: Remove superfluous includesSebastian Huber2016-05-121-3/+0
|
* capture: Compact rtems_capture_record_tSebastian Huber2016-05-121-1/+1
| | | | | Order fields according to alignment to reduce structure internal padding.
* capture: Fix buffer allocation and freeSebastian Huber2016-05-122-11/+11
| | | | | | | Do not use function static variables. Remove superfluous volatile qualifiers. Use proper integer types. Close #2706.
* score: Avoid Giant lock _Scheduler_Set_affinity()Sebastian Huber2016-05-121-1/+0
| | | | Update #2555.
* score: Use thread state lock for current stateSebastian Huber2016-05-121-3/+10
| | | | | | | In addition protect scheduler of thread by thread state lock. Enables use of scheduler per-instance locks. Update #2555.
* score: Simplify _Objects_Get_next()Sebastian Huber2016-04-211-2/+1
| | | | Remove unused location parameter.
* shell: Fix warning visible with latest NewlibSebastian Huber2016-04-121-0/+2
| | | | Works also with previous Newlib versions.
* rtems: Delete Region_Control::page_sizeSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::lengthSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::starting_addressSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::number_of_used_blocksSebastian Huber2016-04-121-1/+2
| | | | Use Heap_Statistics::used_blocks instead.
* score: Delete Thread_Wait_information::idSebastian Huber2016-04-061-6/+26
| | | | | | | | | | | This field was only by the monitor in non-multiprocessing configurations. Add new field Thread_Wait_information::remote_id in multiprocessing configurations and use it for the remote procedure call thread queue. Add _Thread_Wait_get_id() to obtain the object identifier for debug and system information tools. Ensure the object layout via static asserts. Add test cases to sptests/spthreadq01.
* score: Use constant for maximum count of CORE semaSebastian Huber2016-03-291-5/+2
|
* shell/hexdump-odsyntax.c: Add define of _GNU_SOURCE to avoid warningsJoel Sherrill2016-03-241-0/+3
|
* shell/hexdump-conv.c: Disable sccsid to avoid unused warningJoel Sherrill2016-03-241-0/+2
|
* libmisc/shell/main_hexdump.c: Disable unused copyright stringJoel Sherrill2016-03-241-0/+2
|
* libmisc/monitor/mon-prmisc.c: Remove unused rtems_monitor_events_assocJoel Sherrill2016-03-241-36/+0
|
* cpuuse/cpuusagetop.c: Fix unused variable warningJoel Sherrill2016-03-241-1/+0
|
* score: Fix CPU time used by executing threadsSebastian Huber2016-03-173-54/+27
| | | | | | | | | | | | | | The CPU time used of a thread was previously maintained per-processor mostly during _Thread_Dispatch(). However, on SMP configurations the actual processor of a thread is difficult to figure out since thread dispatching is a highly asynchronous process (e.g. via inter-processor interrupts). Only the intended processor of a thread is known to the scheduler easily. Do the CPU usage accounting during thread heir updates in the context of the scheduler operations. Provide the function _Thread_Get_CPU_time_used() to get the CPU usage of a thread using proper locks to get a consistent value. Close #2627.
* monitor: Use object allocator lockSebastian Huber2016-03-146-6/+6
| | | | | | Use object allocator lock instead of disabled thread dispatching. Update #2555.
* score: Use ISR lock for IO driver registrationSebastian Huber2016-03-141-0/+1
| | | | | | Create implementation header file. Update #2555.
* score: Delete Thread_CPU_usage_tSebastian Huber2016-03-011-7/+7
| | | | | This type is superfluous since all operations with it are done via the _Timestamp_*() functions.
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-113-5/+3
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
* libmisc: Include missing header file, fix warningsNick Withers2015-12-152-6/+7
|
* untar: do not exit with error when created directory already exists.Pavel Pisa2015-11-231-1/+29
| | | | | | | | | | | | | | The problem exists for both RTEMS untar implementations and their variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load(). If filesystem object already exists at extracted directory path then if it is directory, creation is ignored. Attempt to delete/unlink object and make directory is tried for other cases. This simple approach problem reported in ticket fixes #2413. Behavior follows GNU tar and BSD tar practice for directories but much more work is required to achieve full semantics of the full featured tar implementation still.
* basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber2015-10-2641-108/+111
|
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-261-1/+1
|
* cpukit/libmisc/dumpbuf/dumpbuf.c: Fix compilation warningsMartin Galvan2015-09-031-1/+1
| | | | | | | | | | Compiling dumpbuf.c causes the following warning to be issued: warning: pointer targets in passing argument 1 of 'snprintf' differ in signedness [-Wpointer-sign] This happens because line_buffer is declared as unsigned. Closes #2411.
* cpukit/libmisc/dumpbuf/dumpbuf.c: Fix undefined behavior for sprintf()Martin Galvan2015-09-031-46/+75
| | | | | | | I also used the 'n' versions of the string functions, #define'd magic numbers and added a few comments. Updates #2405.
* score: Add self-contained condition implementationSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained futex implementationSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained semaphore implementationSebastian Huber2015-07-301-0/+1
|
* score: Add self-contained mutex implementationSebastian Huber2015-07-301-0/+1
| | | | | | | This mutex implementation uses a thread priority queue with a simple priority inheritance mechanism (similar to the object based mutexes). The storage space must be supplied by the user (16 bytes on 32-bit targets).
* monitor: Sort alphabeticallySebastian Huber2015-07-241-15/+15
|
* monitor: Add current CPU of threadSebastian Huber2015-07-242-2/+7
|
* monitor: Print the wait queue to ease debuggingSebastian Huber2015-07-242-18/+21
|
* monitor: Print addresses like identifiersSebastian Huber2015-07-242-3/+3
| | | | This avoids the "0x0xabc" output and is more compact.
* monitor: Remove notepad supportSebastian Huber2015-07-243-41/+1
|
* score: Introduce Thread_queue_HeadsSebastian Huber2015-07-231-2/+2
| | | | | | | | | | | | | Move the storage for the thread queue heads to the threads. Each thread provides a set of thread queue heads allocated from a dedicated memory pool. In case a thread blocks on a queue, then it lends its heads to the queue. In case the thread unblocks, then it takes a free set of threads from the queue. Since a thread can block on at most one queue this works. This mechanism is used in FreeBSD. The motivation for this change is to reduce the memory demands of the synchronization objects. On a 32-bit uni-processor configuration the Thread_queue_Control size is now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced the size as well).
* libmisc: Use SMP application by default on SMPSebastian Huber2015-07-081-0/+4
|
* libmisc: Simplify <rtems/stackchk.h>Sebastian Huber2015-06-262-1/+2
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-1/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* Remove use ticks for statistics configure option.Joel Sherrill2015-06-155-134/+33
| | | | | | | | | | This was obsolete and broken based upon recent time keeping changes. Thie build option was previously enabled by adding USE_TICKS_FOR_STATISTICS=1 to the configure command line. This propagated into the code as preprocessor conditionals using the __RTEMS_USE_TICKS_FOR_STATISTICS__ conditional.
* libmisc/cpuuse: Top support for current load.Chris Johns2015-04-291-195/+541
| | | | | | | | | | | | | | | | | | 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.
* score: Fix POSIX thread joinSebastian Huber2015-04-231-0/+1
| | | | | | | | | | | | 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.
* Fix build for non-SPARC targetsSebastian Huber2015-04-171-2/+9
|