Mohammed Anees commented: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2183#note_144707


hi im picking up this, commit `8937f12f` seems to have restructed this closer 
to the ARM implementation for SMP fix but is still incomplete\
\
There are two remaining issues

1\. When spinning on the heir context, if the scheduler assigns a new heir the 
code never checks or clears the dispatch_needed flag, making it wait even when 
something comes up. `PER_CPU_DISPATCH_NEEDED` is defined for i386 so this check 
is needed. 
https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/cpukit/score/cpu/i386/cpu_asm.S#L147

2\. In cpu.h, `is_executing` is still declared as volatile bool, this has to be 
changed to uint32_t to match what lock bts (accesses 4 bytes) actually 
accesses. With bool, this is is reading beyond the struct? - 
https://pdos.csail.mit.edu/6.828/2005/readings/i386/BTS.htm

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/2183#note_144707
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to