summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/monitor (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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: Introduce Thread_Entry_informationSebastian Huber2016-01-112-4/+2
| | | | | | | 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.
* basdefs.h: Add and use RTEMS_UNUSEDSebastian Huber2015-10-2614-41/+41
|
* 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).
* 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.
* monitor: Fix notepad dumpSebastian Huber2015-03-241-4/+7
|
* libmisc/monitor/mon-task.c: Disable deprecated warning for use of notepadsJoel Sherrill2015-03-171-2/+21
|
* cpukit: deprecate notepadsGedare Bloom2015-03-101-1/+2
| | | | | | | | | | | | | | | Deprecate Classic API Notepads. Mark task_set/get_note() with the deprecated attribute, and also mark the notepads field. Replace disable with enable option for notepads in confdefs.h, and make notepads disabled by default. The previous option CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS is now unused and will emit a compile-time warning. A new option CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS is available to turn on notepads, but it also will emit a compile-time warning to indicate that notepads are deprecated. Closes #2265
* monitor: Replace puts() with proper fprintf()Sebastian Huber2014-12-032-3/+3
|
* monitor/mon-prmisc.c: Use puts() not fprintf()Josh Oguin2014-11-261-1/+1
| | | | | | | CodeSonar flagged this as a case where the user could inject a format string and cause issues. Since we were not printing anything but a string, just switching to puts() rather than fprintf(stdout,...) was sufficient to make this code safer.
* monitor/mon-editor.c: Use puts() and snprintf() not fprintf() or sprintf()Josh Oguin2014-11-261-5/+7
| | | | | | | | | | CodeSonar flagged this as a case where the user could inject a format string and cause issues. Since we were not printing anything but a string, just switching to puts() rather than fprintf(stdout,...) was sufficient to make this code safer. snprintf() places a limit on the length of the output from sprintf() and avoids similar buffer overrun issues.
* score: Simplify _Thread_Change_priority()Sebastian Huber2014-05-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The function to change a thread priority was too complex. Simplify it with a new scheduler operation. This increases the average case performance due to the simplified logic. The interrupt disabled critical section is a bit prolonged since now the extract, update and enqueue steps are executed atomically. This should however not impact the worst-case interrupt latency since at least for the Deterministic Priority Scheduler this sequence can be carried out with a wee bit of instructions and no loops. Add _Scheduler_Change_priority() to replace the sequence of - _Thread_Set_transient(), - _Scheduler_Extract(), - _Scheduler_Enqueue(), and - _Scheduler_Enqueue_first(). Delete STATES_TRANSIENT, _States_Is_transient() and _Thread_Set_transient() since this state is now superfluous. With this change it is possible to get rid of the SCHEDULER_SMP_NODE_IN_THE_AIR state. This considerably simplifies the implementation of the new SMP locking protocols.
* score: Add STATES_RESTARTINGSebastian Huber2014-05-141-0/+1
| | | | Use separate state for thread restart.
* monitor: Support STATES_MIGRATINGSebastian Huber2014-05-141-0/+1
|
* score: Statically initialize IO managerSebastian Huber2014-04-101-3/+2
| | | | | | | | | | | | This simplifies the RTEMS initialization and helps to avoid a memory overhead. The workspace demands of the IO manager were not included in the <rtems/confdefs.h> workspace size estimate. This is also fixed as a side-effect. Update documentation and move "Specifying Application Defined Device Driver Table" to the section end. This sub-section is not that important for the user. Mentioning this at the beginning may lead to confusion.
* score: Delete CORE_mutex_Control::lockSebastian Huber2014-03-311-3/+5
| | | | | | | | The holder field is enough to determine if a mutex is locked or not. This leads also to better error status codes in case a rtems_semaphore_release() is done for a mutex without having the ownership.
* score: Delete CORE_mutex_Control::holder_idSebastian Huber2014-03-311-2/+7
| | | | We can use the holder pointer to get the identifier if necessary.
* score: Thread life cycle re-implementationSebastian Huber2014-03-311-0/+2
| | | | | | | | | | | | | | | | | | | The thread deletion is now supported on SMP. This change fixes the following PRs: PR1814: SMP race condition between stack free and dispatch PR2035: psxcancel reveals NULL pointer access in _Thread_queue_Extract() The POSIX cleanup handler are now called in the right context (should be called in the context of the terminating thread). http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_09.html Add a user extension the reflects a thread termination event. This is used to reclaim the Newlib reentrancy structure (may use file operations), the POSIX cleanup handlers and the POSIX key destructors.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* monitor: Add support for BSD wakeup stateSebastian Huber2013-11-141-0/+1
|
* PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber2013-08-086-7/+0
|
* score: Create object implementation headerSebastian Huber2013-07-261-0/+1
| | | | | | Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
* score: Create states implementation headerSebastian Huber2013-07-261-1/+1
| | | | | | Move implementation specific parts of states.h and states.inl into new header file statesimpl.h. The states.h contains now only the application visible API.
* score: Merge sysstate API into one fileSebastian Huber2013-07-241-0/+1
|
* rtems: Create tasks implementation headerSebastian Huber2013-07-231-0/+1
| | | | | | Move implementation specific parts of tasks.h and tasks.inl into new header file tasksimpl.h. The tasks.h contains now only the application visible API.
* rtems: Create region implementation headerSebastian Huber2013-07-231-0/+1
| | | | | | Move implementation specific parts of region.h and region.inl into new header file regionimpl.h. The region.h contains now only the application visible API.
* rtems: Create part implementation headerSebastian Huber2013-07-231-0/+1
| | | | | | Move implementation specific parts of part.h and part.inl into new header file partimpl.h. The part.h contains now only the application visible API.
* Include missing <string.h>Sebastian Huber2013-07-231-0/+1
|
* rtems: Create event implementation headerSebastian Huber2013-07-231-1/+1
| | | | | | Move implementation specific parts of event.h, event.inl, eventset.h and eventset.inl into new header file eventimpl.h. The event.h contains now only the application visible API.
* rtems: Create attr implementation headerSebastian Huber2013-07-233-3/+3
| | | | | | Move implementation specific parts of attr.h and attr.inl into new header file attrimpl.h. The attr.h contains now only the application visible API.
* sapi: Create extension implementation headerSebastian Huber2013-07-231-0/+1
| | | | | | Move implementation specific parts of extension.h and extension.inl into new header file extensionimpl.h. The extension.h contains now only the application visible API.
* posix: Create pthread implementation headerSebastian Huber2013-07-221-1/+1
| | | | | | Move implementation specific parts of pthread.h and pthread.inl into new header file pthreadimpl.h. The pthread.h contains now only the application visible API.
* rtems: Create message queue implementation headerSebastian Huber2013-07-222-0/+2
| | | | | | Move implementation specific parts of message.h and message.inl into new header file messageimpl.h. The message.h contains now only the application visible API.
* rtems: Create semaphore implementation headerSebastian Huber2013-07-181-0/+1
| | | | | | Move implementation specific parts of sem.h and sem.inl into new header file semimpl.h. The sem.h contains now only the application visible API.
* Header File Doxygen Enhancement Task #11Mathew Kallada2012-12-281-1/+1
|
* monitor: TypoSebastian Huber2012-11-211-1/+1
|
* monitor: Add const qualifierSebastian Huber2012-11-0714-59/+60
|
* monitor: Avoid unused functionSebastian Huber2012-11-071-0/+2
|
* monitor: Support for system eventsSebastian Huber2012-11-021-0/+1
|