| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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..
|
|
|
|
|
| |
These kernel space header files must be provided for Newlib
172e2050d95b41861db858dd9bc43a3fb4a28987.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Maintain the thread resource count only in debug configurations. This
is a performance optimization for non-debug configurations.
|
|
|
|
|
|
| |
No longer unconditionally prevent scheduler changes if the thread owns
resources. Prevent a scheduler change only in case other threads wait
for the resource.
|
|
|
|
|
|
| |
Binary semaphores (not simple binary semaphores) maintain the resource
count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for
initially locked binary semaphores.
|
|
|
|
| |
Add plot script.
|
| |
|
|
|
|
| |
Update #2556.
|
|
|
|
|
|
|
|
| |
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Remove unused return status.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
|
|
| |
Changed for consistency with other scheduler operations.
Update #2556.
|
|
|
|
|
|
| |
Changed for consistency with other scheduler operations.
Update #2556.
|
|
|
|
|
|
| |
Changed for consistency with other scheduler operations.
Update #2556.
|
|
|
|
|
|
|
| |
This enables to call this scheduler operation for all scheduler nodes
available to a thread.
Update #2556.
|
| |
|
|
|
|
| |
Update #2423.
|
|
|
|
| |
Convert output to XML.
|
|
|
|
| |
Add support to untar XZ compressed files.
|
|
|
|
|
| |
Update #2408.
Update #2790.
|
| |
|
|
|
|
|
| |
This demonstrates the effect of false cache line sharing in case of
Classic mutexes.
|
| |
|
|
|
|
|
|
|
|
| |
Maintain the priority of a thread for each scheduler instance via the
thread queue enqueue, extract, priority actions and surrender
operations. This replaces the primitive priority boosting.
Update #2556.
|
|
|
|
|
| |
Update #2556.
Update #2784.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add priority nodes which contribute to the overall thread priority.
The actual priority of a thread is now an aggregation of priority nodes.
The thread priority aggregation for the home scheduler instance of a
thread consists of at least one priority node, which is normally the
real priority of the thread. The locking protocols (e.g. priority
ceiling and priority inheritance), rate-monotonic period objects and the
POSIX sporadic server add, change and remove priority nodes.
A thread changes its priority now immediately, e.g. priority changes are
not deferred until the thread releases its last resource.
Replace the _Thread_Change_priority() function with
* _Thread_Priority_perform_actions(),
* _Thread_Priority_add(),
* _Thread_Priority_remove(),
* _Thread_Priority_change(), and
* _Thread_Priority_update().
Update #2412.
Update #2556.
|
|
|
|
|
|
|
|
| |
This makes the new Termios devices independent of device major/minor
numbers. It enables BSP independent Termios device drivers which may
reside in the cpukit domain. These drivers require an IMFS and do not
work with the device file system. However, the device file system
should go away in the future.
|
|
|
|
|
| |
This avoids problems with console drivers that use generic nodes of the
IMFS.
|
|
|
|
|
| |
This avoids problems with console drivers that require a more complete
IMFS.
|
|
|
|
| |
Avoid unnecessary use of CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM.
|
|
|
|
|
|
| |
User API is compatible to Linux userspace API. New test libtests/spi01.
Update #2776.
|
|
|
|
| |
Avoid direct access to thread internal data fields.
|
|
|
|
|
|
| |
Introduce Thread_queue_Lock_context to contain the context necessary for
thread queue lock and thread wait lock acquire/release operations to
reduce the Thread_Control size.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patches some issues with the capture engine:
1. Check is the engine is open in ctrace commands.
2. Check all record open and appends for overflow.
3. Fix the record open to take the size of user data and
not the record header.
4. Use packed structs for data being written to the per
cpu buffers.
5. Remove direct struct access to the capture buffers to
avoid misaligned accesses.
6. Add support to extract records, no struct access to the
capture buffers.
7. Update ctrace to extract records from the capture buffers.
8. Add support to ctrace to always print the task name if it
has one.
9. Add support to manage names or the lack of a name.
10. Range of minor fixes.
11. Fix a long standing bug in ctset's handling of args.
Closes #2780.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to POSIX priority value returned from pthread_getschedparam()
shall be the value specified by the most recent pthread_setschedparam(),
pthread_setschedprio(), or pthread_create() call affecting the target
thread. Read this as though a temporary lower priority due to the
sporadic server policy shall not be visible through
pthread_getschedparam(). Thus, use rtems_task_set_priority() to get the
current priority of the threads.
Use a priority ceiling mutex to prevent sporadic server priority
adjustments.
|
| |
|
| |
|
|
|
|
| |
Return if the inserted node is the new minimum node or not.
|