This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
DSR interruptible by scheduler + memory barriers
- From: Martin Laabs <martin dot laabs at mailbox dot tu-dresden dot de>
- To: eCos Discuss <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 22 May 2012 20:01:34 +0200
- Subject: [ECOS] DSR interruptible by scheduler + memory barriers
Hello,
unfortunately I couldn't find the answer in the documentation. If the
scheduler runs a DSR. Can this DSR become interrupted by an other thread or
another DSR? (Of cause an ISR can interrupt it)
The background is that I wanna share data between a thread an a DSR and
want to know whether I have to call cyg_(un)lock_scheduler when changing
the data.
And another question about that - how are memory barriers implemented in
eCos? (Are they implemented at all?)
Background: I have - for example - a status bit field that is copied to a
(ISR/DSR) shared variable in the ISR. Now - if the compiler decides to put
this variable into a register (in the ISR function) the DSR will get the
wrong data. I could of cause declare the variable as volatile but this
might be a performance issue in other cases where more data is affected.
Best regards,
Martin Laabs
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss