pick_proc() called only just before returning to userspace
- new proc_is_runnable() macro to test whether process is runnable. All tests whether p_rts_flags == 0 converted to use this macro - pick_proc() calls removed from enqueue() and dequeue() - removed the test for recursive calls from pick_proc() as it certainly cannot be called recursively now - PREEMPTED flag to mark processes that were preempted by enqueueuing a higher priority process in enqueue() - enqueue_head() to enqueue PREEMPTED processes again at the head of their current priority queue - NO_QUANTUM flag to block and dequeue processes preempted by timer tick with exceeded quantum. They need to be enqueued again in schedcheck() - next_ptr global variable removed
This commit is contained in:
@@ -129,6 +129,8 @@ rtsflagstr(int flags)
|
||||
FLAG(PAGEFAULT);
|
||||
FLAG(VMREQUEST);
|
||||
FLAG(VMREQTARGET);
|
||||
FLAG(PREEMPTED);
|
||||
FLAG(NO_QUANTUM);
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user