| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This header file contained timing overhead values which are hard to
maintain.
Update #3254.
|
|
|
|
| |
Update #3082.
|
|
|
|
| |
Update #3082.
|
|
|
|
| |
Update #3082.
|
|
|
|
| |
Update #2676.
|
|
|
|
|
| |
Without the exponential backoff a livelock was observed on a QorIQ P2020
with test SMP 5.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous rtems_panic() implementation was quite heavy weight. It
depended on _exit() which calls the global destructors. It used
fprintf(stderr, ...) for output which depends on an initialized console
device and the complex fprintf().
Introduce a new fatal source RTEMS_FATAL_SOURCE_PANIC for rtems_panic()
and output via vprintk().
Update #3244.
|
|
|
|
|
|
| |
Delete superfluous INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL.
Update #3243.
|
|
|
|
| |
Update #3243.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thread priority changes may append or prepend the thread to its priority
group on the scheduler ready queue. Previously, a separate priority
value and a prepend-it flag in the scheduler node were used to propagate
a priority change to the scheduler.
Now, use an append-it bit in the priority control and reduce the plain
priority value to 63 bits.
This change leads to a significant code size reduction (about 25%) of
the SMP schedulers. The negligible increase of the standard priority
scheduler is due to some additional shift operations
(SCHEDULER_PRIORITY_MAP() and SCHEDULER_PRIORITY_UNMAP()).
Before:
text filename
136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o
464 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o
24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o
108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o
292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o
264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o
text filename
280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o
488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o
164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o
328 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o
text filename
24112 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
37204 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
42236 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o
After:
text filename
136 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleblock.o
272 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimplechangepriority.o
24 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimple.o
108 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleschedule.o
292 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleunblock.o
264 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulersimpleyield.o
text filename
280 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityblock.o
488 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerprioritychangepriority.o
208 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriority.o
164 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityschedule.o
332 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityunblock.o
200 sparc-rtems5/c/erc32/cpukit/score/src/libscore_a-schedulerpriorityyield.o
text filename
18860 arm-rtems5/c/imx7/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
28520 sparc-rtems5/c/gr740/cpukit/score/src/libscore_a-scheduleredfsmp.o
text filename
32664 powerpc-rtems5/c/qoriq_e6500_32/cpukit/score/src/libscore_a-scheduleredfsmp.o
|
|
|
|
| |
Update #3239.
|
|
|
|
|
|
|
| |
Add a default implementation of _arc4random_getentropy_fail with an
internal error.
Update #3239.
|
|
|
|
| |
Update #3199.
|
|
|
|
| |
Update #3020.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We must not clear the priority updates in _Thread_queue_Extract_locked()
since this function is used by the priority ceiling surrender operations
after the ceiling priority handover from the previous owner to the new
owner. This is especially important in SMP configurations.
Move the _Thread_queue_Context_clear_priority_updates() invocation to
the callers.
Close #3237.
|
|
|
|
|
|
|
|
|
| |
The thread queue extract operations performed by the
_Thread_queue_Flush_critical() may result in a priority change of the
thread queue owner. Carry out the scheduler priority update operation.
This is especially important in SMP configurations.
Close #3236.
|
|
|
|
|
|
|
|
|
| |
The _Semaphore_Get_operations() must return the proper operations for
priority inheritance semaphores.
Add a test case for rtems_semaphore_flush() with priority inheritance.
Close #3235.
|
|
|
|
|
|
|
|
| |
The link time wrap of printf leads to unresolved symbols in the loadable
modules. This resulted in infinite loops and test timeouts. Use
rtems_printf() for output.
Update #3199.
|
|
|
|
|
|
|
| |
This fixes the legacy Makefile based build system which expects
RTEMS_API to be identical to the tool chain version.
Update #3220.
|
|
|
|
|
|
|
|
|
| |
- Remove the macro defines and the need for tmacro.h by remapping the
symbols using ld's wrap option.
- Remove FLUSH_OUTPUT, it was empty.
- Move rtems_test_exit to libmisc/testsupport as a function.
Update #3199.
|
|
|
|
|
|
| |
Add a tests enum and move all test banner test to the library in libmisc.
Update #3199.
|
|
|
|
|
|
|
|
| |
Provide functions to get the version string, major, minor and revision
numbers and the version control identifer that is a unique tag for
the version control system.
Update #3199.
|
| |
|
|
|
|
|
|
|
| |
Tool name will be "rtems5", e.g. arm-rtems5-gcc.
Next release will 5.1.0. Branch version after release will be 5.1.1.
Next master will be 6.0.0.
|
|
|
|
|
|
|
|
| |
Remove POSIX_API_Control::created_with_explicit_scheduler. Add
Thread_Control::was_created_with_inherited_scheduler. This fixes also
pthread_getattr_np() for Classic tasks.
Update #2514.
|
|
|
|
|
|
|
| |
Use the thread CPU budget algorithm to determine the scheduler policy.
This fixes also pthread_getschedparam() for Classic tasks.
Update #2514.
|
| |
|
|
|
|
|
|
|
| |
In canonical mode, input is made available line by line. We must stop
the canonical buffer filling upon reception of an end-of-line character.
Close #3218.
|
| |
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
| |
Change the chain order relation to use a directly specified left hand
side value. This is similar to _RBTree_Insert_inline() and helps the
compiler to better optimize the code.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
| |
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous vprintk() implementation had a questionable licence header,
lacks support for the 'z' and 'j' format specifiers, is not robust
against invalid format specifiers, uses a global variable for output.
Replace it with a stripped down version of the FreeBSD kernel kvprintf()
function.
The new implementation allows a low overhead rtems_snprintf() if
necessary.
Update #3199.
Close #3216.
|
| |
|
|
|
|
| |
Close #3205.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
|
| |
The pthread_getattr_np() returns now the stack address and size. Do not
use this stack for the new threads.
Update #2514.
Update #3145.
Update #3168.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
| |
The TEST_EXTERN is a used only by the system.h style tests and they use
CONFIGURE_INIT appropriately.
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
|
| |
Use rtems_print_printer_fprintf_putc() instead of
rtems_print_printer_printf() to output via rtems_putc().
Update #3170.
Update #3199.
|
|
|
|
|
| |
Update #3170.
Update #3199.
|
|
|
|
|
|
|
| |
Statically initialize it to use printk().
Update #3170.
Update #3199.
|
| |
|
| |
|
| |
|