<div dir="ltr">Dear Dr. Bloom,<div><br></div><div>Please find the pull request at the following link: <a href="https://github.com/RTEMS/rtems/pull/39">https://github.com/RTEMS/rtems/pull/39</a>.<br></div><div><br></div><div>Please note that I have tried to remove all the compilation errors but this still won't compile right now, because my implementation requires the use of percpu.h file, which (I'm assuming) is not currently linked with the source files related to Strong APA. </div><div><br></div><div>I'm hoping you could help me out with the following points:</div><div><br></div><div>- What to use instead of malloc</div><div>- Checking if the structures I have defined in strongapascheduler.h make sense</div><div>- If the entire logic conveyed by Get_highest_ready, Get_lowest_ready and other important functions are correct,</div><div><br></div><div>Thank you </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 24, 2020 at 11:25 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</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 Fri, Jul 24, 2020 at 8:20 AM Richi Dubey <<a href="mailto:richidubey@gmail.com" target="_blank">richidubey@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> With Dr. Butterfield's help, I've made the changes to implement the FIFO Queue using chain. I am not accustomed to coding for embedded systems, so I am not completely sure if I should be using malloc or not.<br>
><br>
> Someone, please review the following changes:<br>
><br>
> FIFO Implementaion and Queue traversal: <a href="https://richidubey.github.io/Strong-APA-Documentation/html/schedulerstrongapa_8c_source.html#l00159" rel="noreferrer" target="_blank">https://richidubey.github.io/Strong-APA-Documentation/html/schedulerstrongapa_8c_source.html#l00159</a><br>
><br>
> The structure I have defined to be used with Chain_Control: <a href="https://richidubey.github.io/Strong-APA-Documentation/html/structCPU.html" rel="noreferrer" target="_blank">https://richidubey.github.io/Strong-APA-Documentation/html/structCPU.html</a><br>
><br>
I can't fully review yet. You should not be using malloc.<br>
<br>
I can review for you on github if you like, if you make a pull request<br>
against the base commit of your rtems fork.<br>
<br>
> Thank you,<br>
> Richi.<br>
><br>
> On Fri, Jul 24, 2020 at 11:28 AM Richi Dubey <<a href="mailto:richidubey@gmail.com" target="_blank">richidubey@gmail.com</a>> wrote:<br>
>><br>
>> Hi Andrew,<br>
>><br>
>> Your suggestion helps and I am going to work on it today. Thank you.<br>
>><br>
>> On Thu, Jul 23, 2020 at 8:14 PM Andrew Butterfield <<a href="mailto:Andrew.Butterfield@cs.tcd.ie" target="_blank">Andrew.Butterfield@cs.tcd.ie</a>> wrote:<br>
>>><br>
>>> Hi Richi,<br>
>>><br>
>>>  a quick answer to 1 below<br>
>>><br>
>>> On 23 Jul 2020, at 15:20, Richi Dubey <<a href="mailto:richidubey@gmail.com" target="_blank">richidubey@gmail.com</a>> wrote:<br>
>>> 1)Both the algorithms require the use of a FIFO Queue to support the insert and dequeue operations.<br>
>>><br>
>>> I believe we can use chains and use the chain_append() and combination of _Chain_Extract  and _Chain_First or just _Chain_First and node->next to achieve the FIFO requirements.<br>
>>><br>
>>><br>
>>><br>
>>> You might want to look at chain_get() - it removes the first element, so does a FIFO protocol in tandem with chain_append()<br>
>>><br>
>>> Regards,<br>
>>>   Andrew<br>
>>><br>
>>> _______________________________________________<br>
>>> devel mailing list<br>
>>> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
>>> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
>>><br>
>>><br>
>>> --------------------------------------------------------------------<br>
>>> Andrew Butterfield     Tel: +353-1-896-2517     Fax: +353-1-677-2204<br>
>>> Lero@TCD, Head of Software Foundations & Verification Research Group<br>
>>> School of Computer Science and Statistics,<br>
>>> Room G.39, O'Reilly Institute, Trinity College, University of Dublin<br>
>>>                          <a href="http://www.scss.tcd.ie/Andrew.Butterfield/" rel="noreferrer" target="_blank">http://www.scss.tcd.ie/Andrew.Butterfield/</a><br>
>>> --------------------------------------------------------------------<br>
>>><br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div>