DSR interruptible by scheduler + memory barriers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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



[Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Linux Resources]     [Photo]     [Yosemite]     [ISDN Cause Codes]     [ECOS Home]     [Site Home]

Add to Google Powered by Linux