<div dir="ltr">Thank you.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 18, 2020 at 5:29 PM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 17/08/2020 14:35, Richi Dubey wrote:<br>
<br>
> Also, can someone please explain how the thread could in the ready <br>
> state while the node is in a scheduled state in this <br>
> <<a href="https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/schedulersmpimpl.h#n1517" rel="noreferrer" target="_blank">https://git.rtems.org/rtems/tree/cpukit/include/rtems/score/schedulersmpimpl.h#n1517</a>> <br>
> conditional block ?<br>
<br>
The MrsP locking protocol performs busy waiting will a thread is <br>
blocked. The busy waiting is carried out by idle threads.<br>
<br>
In the referenced conditional block, the thread is ready to execute <br>
again and its scheduler node is scheduled. In this case, it uses an idle <br>
thread to perform the busy wait. So, we have to get rid of the idle <br>
thread and use the node for its own thread.<br>
<br>
<br>
</blockquote></div>