SMP: ISR disable/enable vs. mutual exclustion
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Aug 23 14:26:00 UTC 2013
I will add the lock to the rtems_chain_control to keep it simple.
There is a big problem with the extract operation:
void _Chain_Extract(
Chain_Node *node
)
{
ISR_Level level;
_ISR_Disable( level );
_Chain_Extract_unprotected( node );
_ISR_Enable( level );
}
Here we don't have access to the corresponding chain control and thus the lock
object.
Thus the normal extract operation is not available on SMP. An extract variant
which needs also the chain control as a parameter must be used.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list