<div dir="ltr"><div>Thank you for your answer. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The current SMP schedulers maintain a list of scheduled nodes. These are<br>nodes which have an allocated processors. Nodes which are ready (they<br>don't have an allocated processor) are maintained in chains, tables of<br>chains, or red-black trees depending on the implementation.</blockquote><div>Yes I noticed that. My implementation requires having a chain of both scheduled and ready nodes. Where should the entry/exit point of such a list be?   </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 17, 2020 at 5:41 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:07, Richi Dubey wrote:<br>
<br>
>     The scheduler should only work<br>
>     with nodes which belong to a thread which is ready to execute,<br>
>     e.g. made<br>
>     visible to the scheduler via the unblock and ask_for_help operations.<br>
><br>
> Got it. Maybe this is why my get_highest_ready function was failing.<br>
><br>
> Also, how does the insert_ready function work? What are the rules for <br>
> a node being in the ready queue?<br>
><br>
> I am asking this because I need a list of all the nodes in the system, <br>
> which are either ready to execute or are currently executing on a <br>
> processor. How do I go about obtaining this list?<br>
The current SMP schedulers maintain a list of scheduled nodes. These are <br>
nodes which have an allocated processors. Nodes which are ready (they <br>
don't have an allocated processor) are maintained in chains, tables of <br>
chains, or red-black trees depending on the implementation.<br>
</blockquote></div>