[Bug 1819] New: Add SMP Awareness to Thread Timeslicing

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Thu Jun 16 21:13:59 UTC 2011


           Summary: Add SMP Awareness to Thread Timeslicing
           Product: RTEMS
           Version: HEAD
          Platform: All
        OS/Version: RTEMS
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: cpukit
        AssignedTo: joel.sherrill at oarcorp.com
        ReportedBy: joel.sherrill at oarcorp.com

On each clock tick, there is accounting which must be done for timeslicing. 
The time quantum for each executing thread must be decremented and, if the
remaining time goes to zero, then the thread must logically perform a yield
operation.  The current implementation is in a method called
_Thread_Tickle_timeslice.  This only examines the thread currently executing on
ONE CPU.  In an SMP system, this management must be done for all of the threads
across all CPUs.

This patch adds an "at tick" entry point to the scheduler plugin interface. 
This allows each scheduler implementation to perform whatever actions it needs
to on each clock tick.  The current schedulers are all priority based with
timeslicing so the Deterministic Priority Scheduler and Simple Priority
Scheduler can use the same "at tick" handler.  The Simple SMP Priority
Scheduler provides its own implementation. 

It may be possible to refactor out a common "update timeslice info on thread"
routine but, if possible, that will be a follow up action.

All non-SMP tests pass on SIS.

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