mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-05 05:32:05 +00:00
BVT (Borrowed virtual time) scheduler is used to schedule vCPUs on pCPU. It has the concept of virtual time, vCPU with earliset virtual time is dispatched first. Main concepts: tick timer: a period tick is used to measure the physcial time in units of MCU (minimum charing unit). runqueue: thread in the runqueue is ordered by virtual time. weight: each thread receives a share of the pCPU in proportion to its weight. context switch allowance: the physcial time by which the current thread is allowed to advance beyond the next runnable thread. warp: a thread with warp enabled will have a change to minus a value (Wi) from virtual time to achieve higher priority. virtual time: AVT: actual virtual time, advance in proportional to weight. EVT: effective virtual time. EVT <- AVT - ( warp ? Wi : 0 ) SVT: scheduler virtual time, the minimum AVT in the runqueue. Tracked-On: #4410 Signed-off-by: Conghui Chen <conghui.chen@intel.com> Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com> |
||
---|---|---|
.. | ||
boot | ||
configs | ||
guest | ||
lib | ||
seed | ||
cat.c | ||
cpu_caps.c | ||
cpu_state_tbl.c | ||
cpu.c | ||
e820.c | ||
gdt.c | ||
idt.S | ||
init.c | ||
ioapic.c | ||
irq.c | ||
Kconfig | ||
lapic.c | ||
mmu.c | ||
notify.c | ||
page.c | ||
pagetable.c | ||
pm.c | ||
sched.S | ||
security.c | ||
sgx.c | ||
timer.c | ||
trampoline.c | ||
vmx.c | ||
vtd.c | ||
wakeup.S |