summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/resource_snapshot.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-05-20Update company nameSebastian Huber1-1/+1
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-04-01cpukit/libcsupport/src/[g-r]*: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2022-03-10cpukit/: Scripted embedded brains header file clean upJoel Sherrill1-6/+0
Updates #4625.
2020-04-16Canonicalize config.h includeSebastian Huber1-2/+2
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2018-10-29posix: Provide threads by defaultSebastian Huber1-26/+4
Update #2514.
2017-10-05posix: Implement self-contained POSIX mutexSebastian Huber1-1/+0
POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
2017-10-05posix: Implement self-contained POSIX condvarSebastian Huber1-2/+0
POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
2017-10-05posix: Implement self-contained POSIX rwlocksSebastian Huber1-2/+0
POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
2017-10-05posix: Implement self-contained POSIX barriersSebastian Huber1-1/+0
POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
2017-09-15libio: Use FIFO for iop free listSebastian Huber1-1/+1
Update #3136.
2016-11-23posix: Add self-contained pthread spinlockSebastian Huber1-2/+0
Turn pthread_spinlock_t into a self-contained object. On uni-processor configurations, interrupts are disabled in the lock/trylock operations and the previous interrupt status is restored in the corresponding unlock operations. On SMP configurations, a ticket lock is a acquired and released in addition. The self-contained pthread_spinlock_t object is defined by Newlib in <sys/_pthreadtypes.h>. typedef struct { struct _Ticket_lock_Control _lock; __uint32_t _interrupt_state; } pthread_spinlock_t; This implementation is simple and efficient. However, this test case of the Linux Test Project would fail due to call of printf() and sleep() during spin lock ownership: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c There is only limited support for profiling on SMP configurations. Delete CORE spinlock implementation. Update #2674.
2016-11-04Size optimization for resource snapshotsSebastian Huber1-23/+37
Do not reference the objects information directly.
2016-05-02posix: Simplify message queuesSebastian Huber1-1/+0
The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
2016-04-21score: Simplify _Objects_Get_next()Sebastian Huber1-3/+1
Remove unused location parameter.
2016-03-18posix: Use per-thread lookup tree for POSIX KeysSebastian Huber1-17/+10
Yields higher performance on SMP systems. Close #2625.
2015-08-31rbheap: Drop direction from _RBTree_Iterate()Sebastian Huber1-3/+0
2015-07-23score: Introduce Thread_queue_HeadsSebastian Huber1-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).
2014-12-12Add POSIX key value pairs to resource snapshotSebastian Huber1-11/+43
2014-11-28score: Return heap stats via _Heap_Get_informationSebastian Huber1-7/+8
Print out heap statistics via the MALLOC and WKSPACE shell commands.
2014-03-31score: PR2152: Use allocator mutex for objectsSebastian Huber1-17/+7
Use allocator mutex for objects allocate/free. This prevents that the thread dispatch latency depends on the workspace/heap fragmentation.
2014-03-31score: Thread life cycle re-implementationSebastian Huber1-1/+4
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.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-08-06posix: Create key implementation headerSebastian Huber1-1/+1
Move implementation specific parts of key.h and key.inl into new header file keyimpl.h. The key.h contains now only the application visible API.
2013-07-23rtems: Create tasks implementation headerSebastian Huber1-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.
2013-07-23rtems: Create region implementation headerSebastian Huber1-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.
2013-07-23rtems: Create part implementation headerSebastian Huber1-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.
2013-07-23rtems: Create timer implementation headerSebastian Huber1-0/+1
Move implementation specific parts of timer.h and timer.inl into new header file timerimpl.h. The timer.h contains now only the application visible API.
2013-07-23rtems: Create ratemon implementation headerSebastian Huber1-0/+1
Move implementation specific parts of ratemon.h and ratemon.inl into new header file ratemonimpl.h. The ratemon.h contains now only the application visible API.
2013-07-23rtems: Create dpmem implementation headerSebastian Huber1-0/+1
Move implementation specific parts of dpmem.h and dpmem.inl into new header file dpmemimpl.h. The dpmem.h contains now only the application visible API.
2013-07-23sapi: Create extension implementation headerSebastian Huber1-0/+2
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.
2013-07-22posix: Create spinlock implementation headerSebastian Huber1-1/+1
Move implementation specific parts of spinlock.h and spinlock.inl into new header file spinlockimpl.h. The spinlock.h contains now only the application visible API.
2013-07-22posix: Create timer implementation headerSebastian Huber1-1/+1
Move implementation specific parts of timer.h and timer.inl into new header file timerimpl.h. The timer.h contains now only the application visible API.
2013-07-22posix: Create rwlock implementation headerSebastian Huber1-1/+1
Move implementation specific parts of rwlock.h and rwlock.inl into new header file rwlockimpl.h. The rwlock.h contains now only the application visible API.
2013-07-22posix: Create pthread implementation headerSebastian Huber1-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.
2013-07-22posix: Create condition variable impl headerSebastian Huber1-1/+1
Move implementation specific parts of cond.h and cond.inl into new header file condimpl.h. The cond.h contains now only the application visible API.
2013-07-22posix: Create barrier implementation headerSebastian Huber1-1/+1
Move implementation specific parts of barrier.h and barrier.inl into new header file barrierimpl.h. The barrier.h contains now only the application visible API.
2013-07-22rtems: Create barrier implementation headerSebastian Huber1-0/+1
Move implementation specific parts of barrier.h and barrier.inl into new header file barrierimpl.h. The barrier.h contains now only the application visible API.
2013-07-22posix: Create message queue implementation headerSebastian Huber1-1/+1
Move implementation specific parts of mqueue.h and mqueue.inl into new header file mqueueimpl.h. The mqueue.h contains now only the application visible API.
2013-07-22rtems: Create message queue implementation headerSebastian Huber1-0/+1
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.
2013-07-22posix: Create semaphore implementation headerSebastian Huber1-1/+1
Move implementation specific parts of semaphore.h and semaphore.inl into new header file semaphoreimpl.h. The semaphore.h contains now only the application visible API.
2013-07-18posix: Create mutex implementation headerSebastian Huber1-1/+1
Move implementation specific parts of mutex.h and mutex.inl into new header file muteximpl.h. The mutex.h contains now only the application visible API.
2013-07-18rtems: Create semaphore implementation headerSebastian Huber1-0/+2
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.
2013-06-21score: _Heap_Protection_free_all_delayed_blocks()Sebastian Huber1-0/+14
Add and use _Heap_Protection_free_all_delayed_blocks() to prevent test suite failures if RTEMS_DEBUG is defined.
2012-12-21libcsupport: Add rtems_resource_snapshot_take()Sebastian Huber1-0/+127
Add rtems_resource_rtems_api, rtems_resource_posix_api, rtems_resource_snapshot, rtems_resource_snapshot_equal(), and rtems_resource_snapshot_check().