| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This helps to use IMFS_make_generic_node() without pulling in the
complete IMFS implementation.
|
|
|
|
|
| |
Use the adjusted and not the requested memfile bytes per block.
Untangle dependencies.
|
|
|
|
|
|
| |
User API is compatible to Linux userspace API. New test libtests/spi01.
Update #2776.
|
|
|
|
| |
Avoid direct access to thread internal data fields.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
|
|
|
| |
This makes it possible to add scheduler nodes to structures defined in
<rtems/score/thread.h>.
Update #2556.
|
|
|
|
| |
Optimize the enqueue to empty thread queue case.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Closes #2767
|
|
|
|
|
|
|
| |
Commit 0fd6f25507fbea5f4892b71b58837cdda17856b4 relaxed the thread begin
extension execution environment. This broke the stack check which only
partially initialized the stack pattern in its create extension. Move
the part of the begin extension to the create extension.
|
| |
|
| |
|
|
|
|
| |
This information turned out to be useless in the last couple of months.
|
| |
|
|
|
|
| |
Ensure that we extract a node only from the right tree.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Move the 64-bit field to a not 64-bit aligned structure offset to stop
the compiler from generating 64-bit load/store operations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Cast POSIX error codes to unsigned int to avoid undefined behaviour in
case of PTHREAD_BARRIER_SERIAL_THREAD which is -1.
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch fixes a number of bugs in the cache when requests are
made to read close to the end of the file and the data is copied
from the top of the cache buffer to the bottom of the buffer. This
was compounded by attempting to read past the end of the file.
Closes #2754.
|
| |
|
|
|
|
| |
Return if the inserted node is the new minimum node or not.
|
|
|
|
|
|
| |
This is an optimization for _Thread_queue_Surrender(). It helps to
encapsulate the priority boosting in the priority inheritance thread
queue operations.
|
|
|
|
|
|
|
| |
Dismantle _Thread_queue_Do_extract_locked() into re-usable parts like
_Thread_queue_MP_set_callout() and _Thread_queue_Make_ready_again().
Use them in _Thread_queue_Surrender() to propare for a new thread queue
surrender operation.
|
|
|
|
|
| |
Add _Thread_queue_Surrender() to unify the mutex surrender procedures
which involve a thread queue operation.
|
|
|
|
|
|
|
|
|
|
|
| |
We always build a C++ compiler and building with C++ does not effect
RTEMS or the runtime. This patch always enabled the support. There is
no need to manually enable it any more.
You can disable C++ with '--disable-cxx'.
If an architecture does not have a C++ compiler support is automatically
disabled.
|
|
|
|
|
|
|
| |
Use clock_gettime before and after sleep to calculate
the time spent asleep, and the amount of time remaining.
updates #2732
|
|
|
|
|
|
|
| |
This patch parses the mode field in the tar header and sets the
directory or file to the mode value in the header.
Closes #2768.
|
|
|
|
| |
This helps to detect double insert and extract errors.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Split up the potential thread priority change in the scheduler
release/cancel job operation. Protect the rate monotonic period state
with a dedicated SMP lock. This avoids a race condition during
_Rate_monotonic_Timeout() while _Rate_monotonic_Cancel() is called on
another processor.
|
|
|
|
|
|
| |
It is possible that the owner of the terminal link of a thread queue
path waits on a thread queue. However, this thread queue has no owner,
e.g. a thread queue of a message queue.
|
|
|
|
|
| |
Commit 21bdca49eea9213cc31a497072d01192eed8675e accidentally used a
function which may be added later.
|
|
|
|
| |
Update #2556.
|
|
|
|
|
| |
Do not use a deadline value of zero to indicate a job cancellation. Use
a dedicated scheduler operation for this.
|
|
|
|
|
|
|
|
|
|
| |
There was a subtile race condition in _Thread_queue_Do_extract_locked().
It must first update the thread wait flags and then restore the default
thread wait state. In the previous implementation this could lead under
rare timing conditions to an ineffective _Thread_Wait_tranquilize()
resulting to a corrupt system state.
Update #2556.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The newly created macro adds any kind of variable into a linker set. It
allows (for example) the saving an execution state of a function using
the following method:
- put a group of different variables into one linker set
- save the memory area containing the group of variables before the
execution of a function
- restore the memory area after the function has been executed
|