| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
|
| |
Rework pthread_join() to use _Thread_Join().
Close #2402.
Update #2555.
Update #2626.
Close #2714.
|
|
|
|
|
|
|
|
| |
Use _Thread_Change_life_locked() to avoid duplicated code. Avoid Giant
lock in _Thread_Life_action_handler().
Update #2555.
Update #2626.
|
|
|
|
|
|
|
| |
Rework _Thread_Cancel() to use _Thread_Change_life_locked().
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
| |
Rework _Thread_Restart_other() to use _Thread_Change_life_locked().
Cope with concurrent change requests by means of a pending request
counter.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
|
|
| |
Split _Thread_Restart() into _Thread_Restart_self() and
_Thread_Restart_other(). Move content of existing
_Thread_Restart_self() into new _Thread_Restart_self(). Avoid Giant
lock for thread restart. _Thread_Restart_self() is a no-return function
and used by _Thread_Global_construction().
Update #2555.
Update #2626.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to
prepare for a re-use in pthread_join() and pthread_cancel().
Update #2555.
Update #2626.
|
|
|
|
|
|
|
| |
Rework _Thread_Exit() to use _Thread_Change_life_locked().
Update #2555.
Update #2626.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
| |
Add _Thread_Change_life_locked() as a general function to alter the
thread life state. Use it to implement _Thread_Set_life_protection() as
a first step.
Update #2555.
Update #2626.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
Disable thread dispatching is enough to prevent deletion of the
executing thread. There is no need for an additional life protection.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
The goal is to make _Thread_Exit() a no-return function in follow up
patches.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
| |
This makes it easier to add more states in the future.
Update #2555.
Update #2626.
|
|
|
|
| |
Update #2714.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is required if function or direction is changed by some driver
after start of thread multitasking or in interrupts drivers.
There can be problem with calling GPIO function selection before
data section is initialized. But actual ticket lock implementation
seems to be compatible even with memory initialized to zero oven
on SMP.
|
|
|
|
|
|
| |
Original implementation does only bitwise-or with previous register
value for all functions except IN. Switch from one to other function
would lead to incorrect value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current versions of U-boot start kernel/RTEMS application image
with instruction and data caches enabled and it sets exception
base register to new address after its self-relocation.
ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */
mcr p15, 0, r0, c12, c0, 0 /* Set VBAR */
Included changes in bsp_start_hook_0 restore default state to
allow RTEMS image to run after startup from newer U-boot version
on Raspberry Pi.
Clear interrupt enable registers in interrupt controller
to ensure that RTEMS starts from well defined state.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Added only for evaluation purposes. We have to compare the performance
against the ticket lock on the interesting platforms via
smptests/smplock01.
The following GCC shortcoming affects the MCS lock:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66867
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Avoid output in signal handler to not disturb the timings which are
checked in this test. Use asserts to ensure proper signal handler
invocations.
|
|
|
|
|
|
| |
POSIX mandates that an error code is returned and not -1 plus errno.
Close #2715.
|
|
|
|
| |
Update #2714.
|
| |
|
| |
|
|
|
|
|
|
|
| |
POSIX recommends ESRCH in case no thread exists for the specified
identifier.
Close #2713.
|
|
|
|
|
|
| |
Get the current processor index only once and with interrupts disabled.
Close #2707.
|
| |
|
|
|
|
|
| |
Order fields according to alignment to reduce structure internal
padding.
|
|
|
|
|
|
|
| |
Do not use function static variables. Remove superfluous volatile
qualifiers. Use proper integer types.
Close #2706.
|
|
|
|
|
|
|
| |
Fix overall clock tick count. Change introduced by
90d8567d34a6d80da04b1cb37b667a3173f584c4.
Update #2554.
|
|
|
|
| |
Update #2707.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
| |
Avoid Giant lock for pthread_getattr_np(), pthread_setschedparam() and
pthread_getschedparam(). Replace POSIX threads scheduler lock with
thread state lock.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
| |
In addition protect scheduler of thread by thread state lock. Enables
use of scheduler per-instance locks.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
| |
Avoid Giant lock for rtems_task_set_priority(), rtems_task_suspend() and
rtems_task_resume().
Update #2555.
|
| |
|
|
|
|
| |
Update #2556.
|