mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-02 07:16:47 +08:00
score: Workaround for #2751
The ARM and PowerPC interrupt epilogues call _Thread_Dispatch() with interrupts disabled (counter example: SPARC). On SMP configurations, since inter-processor interrupts set the thread dispatch necessary indicator this prevents a thread dispatch notification in post-switch handlers (which all run with interrupts disabled). On all configurations, this is a serious issue for the interrupt latency. Update #2751
This commit is contained in:
@@ -357,6 +357,10 @@ void _Thread_Life_action_handler(
|
||||
|
||||
_Thread_Make_zombie( executing );
|
||||
|
||||
/* FIXME: Workaround for https://devel.rtems.org/ticket/2751 */
|
||||
cpu_self->dispatch_necessary = true;
|
||||
|
||||
_Assert( cpu_self->heir != executing );
|
||||
_Thread_Dispatch_enable( cpu_self );
|
||||
RTEMS_UNREACHABLE();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user