Opened 5 years ago

Closed 5 years ago

#224 closed defect (fixed)

Fix Scheduler for Procs Required

Reported by: Eric Swenson Owned by: Eric Swenson
Priority: major Milestone: MR12.7
Component: Hardcore Version: MR12.6e
Keywords: Cc:

Description

The scheduler (pxss.alm) has a bug whereby it can preempt the wrong process when a ready-to-run process has limited the set of processors it can run on. When a waiting process is notified that it can run again, the scheduler searches for a process to preempt. However, it doesn’t take into account the fact that the processor on which a candidate process is running might not be in the set of processors to which the now-ready process is restricted. It chooses the first running process to preempt, and once it has preempted it, it considers its task done. When the scheduler attempts to find a process to schedule on the preempted process’ processor, it cannot schedule the ready process on this processor, so another process is scheduled. If no such process can be found, the idle process for this processor is chosen. The now-ready process must wait until to be scheduled, while some process running on one of its limited set of CPUs exhausts its quantum.

The ticket is described in detail in: https://s3.amazonaws.com/eswenson-multics/public/mcrs/MCR10054.pdf

Change History (1)

comment:1 by Eric Swenson, 5 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.