acrn-hypervisor/hypervisor/include
Conghui Chen a7563cb9bd hv: sched_bvt: add BVT scheduler
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>
2020-02-25 09:11:32 +08:00
..
arch/x86 hv: sched_bvt: add BVT scheduler 2020-02-25 09:11:32 +08:00
common hv: sched_bvt: add BVT scheduler 2020-02-25 09:11:32 +08:00
debug hv: rename the ACRN_DBG_XXX 2020-01-14 10:21:23 +08:00
dm hv: mmio: refine mmio access handle lock granularity 2020-02-24 16:17:38 +08:00
hw hv: vPCI: add assign/deassign PCI device HC APIs 2020-02-24 16:17:38 +08:00
lib hv: support xsave in context switch 2019-12-02 09:31:12 +08:00
public hv: vPCI: remove passthrough PCI device unuse code 2020-02-24 16:17:38 +08:00