[Bug 1647] Modular SuperCore Scheduler

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Mon Nov 15 18:05:42 UTC 2010


https://www.rtems.org/bugzilla/show_bug.cgi?id=1647

--- Comment #51 from Joel Sherrill <joel.sherrill at oarcorp.com> 2010-11-15 12:05:40 CST ---
Closer...  This is on psim and is in instructions.  

-_Thread_Set_state 76
+_Thread_Set_state 111

So still about 35 instructions more to block.  This propagates to every
blocking service and to changing priority.  

-rtems_semaphore_obtain: not available -- caller blocks 702
+rtems_semaphore_obtain: not available -- caller blocks 737

Also the unblocking path is higher by about 15 instructions.  Not quite as
critical but important.

-_Thread_Resume 59
-_Thread_Unblock 60
-_Thread_Ready 65
+_Thread_Resume 73
+_Thread_Unblock 75
+_Thread_Ready 68

The blocking change doesn't impact the sparc/sis as much:

-_Thread_Set_state 16
-_Thread_Dispatch (NO FP) 64
+_Thread_Set_state 15
+_Thread_Dispatch (NO FP) 65

I suspect that is because of the register windows and the save/restore being
effectively free.  On the powerpc, the save/restore of registers has costs.

I am running now on the mips/jmr3904.  If you see anything to pull down thread 
set state or thread unblock, please try it out.

-- 
Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the bugs mailing list