joel at rtems.org
Tue Feb 20 01:29:04 UTC 2018
On Feb 19, 2018 6:55 PM, "Chris Johns" <chrisj at rtems.org> wrote:
On 20/02/2018 00:13, Matthew J Fletcher wrote:
> Replying to my own post, with CPU_ENABLE_ROBUST_THREAD_DISPATCH set FALSE
> a fatal exception, this on a Cortex-M7, rtems 5.0.0 from git.
> I think i will have to work around the new behavior somehow.
I would view this as implementing the correct behaviour. :)
The performance change does generate this runtime error and like you I have
tripped over it. What I learnt is this error exposes incorrect behaviour
use to run before now however this has changed with SMP. In all cases what
doing was wrong and needed to be fixed.
Masking interrupts or using interrupt masking as a cheap lock on an SMP
provides you with no protection. All it does is stop the masked core from
receiving interrupts and any code without lock protection can execute
concurrently via another core.
You could argue that you are not using an SMP target so why should it matter
however there are ways to handle these cases that are better and end up with
more robust applications.
I hope this helps explain why you are seeing this error
Thanks Chris. I should have remembered that as we added smp, we tried to
encourage applications to "do the right thing" to be SMP correct.
users mailing list
users at rtems.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the users