About Chains in RTEMS
    Richi Dubey 
    richidubey at gmail.com
       
    Thu Feb 25 09:47:15 UTC 2021
    
    
  
Hi,
When I am debugging the call to _Chain_Append_unprotected (from line 92
<https://git.rtems.org/rtems/tree/testsuites/sptests/sp02/init.c#n92> of
sp02, rtems_task_delete -> _Thread_Close ->...->_Thread_Cancel -> ...
->_Scheduler_Unblock -> ... _Scheduler_strong_APA_Insert_ready
-> _Chain_Append_unprotected), I see a weird chain behavior where there's
some kind of cycle:
(gdb) p _Chain_Tail(the_chain)
$20 = (Chain_Node *) 0x200768 <_Configuration_Scheduler_strong_APA_dflt+40>
(gdb) p _Chain_Tail(the_chain)->previous
$21 = (Chain_Node *) 0x2014e8 <_RTEMS_tasks_Objects+2024>
(gdb) p (_Chain_Tail(the_chain)->previous)->previous
$22 = (Chain_Node *) 0x200fe0 <_RTEMS_tasks_Objects+736>
(gdb) p ((_Chain_Tail(the_chain)->previous)->previous)->previous
$23 = (Chain_Node *) 0x2014e8 <_RTEMS_tasks_Objects+2024>
(gdb) p
(((_Chain_Tail(the_chain)->previous)->previous)->previous)->previous
$24 = (Chain_Node *) 0x200fe0 <_RTEMS_tasks_Objects+736>
sp02 is a single processor test and I am trying to run it on the Strong APA
SMP scheduler. Can someone please give an insight into what might be
causing this? The Strong APA scheduler does not affect the functioning of
the chain, it only uses the chain using standard function headers defined
in chain.h
Thanks,
Richi.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210225/b05b74de/attachment.html>
    
    
More information about the devel
mailing list