Dispatch Latency

Introduction

會在 process switch 時產生,是從 scheduler 決定要切換 process 到新 process 真正開始跑的時間,這個過程可以拆成兩個 Phase:

process switch 不等於 context switch

Phase 1: Conflict Phase

這是讓 CPU 騰出空間給新 process 所需的時間,包含兩件事:

  1. Preemption:如果當前 process 正在跑 kernel mode,不能直接強制中斷,必須等到一個安全的 preemption point 才能拔掉它
  2. Resource Release:如果 low-priority process 持有 high-priority process 需要的資源(例如 lock),它必須先釋放

Phase 2: Dispatch Phase

dispatcher 做事