About locks and concurrency rules for SMP systems

Richi Dubey richidubey at gmail.com
Fri Mar 26 05:30:02 UTC 2021


Thanks for your quick response!

Each scheduler has its own lock. There are a couple of more locks involved.

I understand.

I backtracked a little and found that we have:
_Thread_State_acquire_critical( the_thread, lock_context );

to lock access to thread-specific variables.

_Scheduler_Acquire_critical( scheduler, &lock_context );

to lock access to the current scheduler-specific data structures.

What other locks do we have related to schedulers?

On Wed, Mar 24, 2021 at 1:03 PM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:

> On 24/03/2021 08:07, Richi Dubey wrote:
>
> > How does RTEMS handle cases where two different cores access
> > scheduler-related functions at the same time?
> Each scheduler has its own lock. There are a couple of more locks involved.
> > For ex., Can they access (or modify) the Scheduler_strong_APA_Context
> > <
> https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/schedulerstrongapa.h#n61>
>
> > at the same time?
> No, unless we have a bug.
>
> --
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.huber at embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
>
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210326/5c1c9c3a/attachment-0001.html>


More information about the devel mailing list