acrn-hypervisor/hypervisor/include/arch/x86
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
..
boot hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
guest hv: rename BOOT_CPU_ID to BSP_CPU_ID 2020-02-25 09:08:14 +08:00
lib hv: Add a helper to account bitmap weight 2019-09-24 11:58:45 +08:00
apicreg.h HV: fix violations touched type conversion 2019-07-11 09:16:09 +08:00
board.h hv: pci: add hide pci devices configuration for apl-up2 2020-01-07 16:05:30 +08:00
cat.h hv: CAT is supposed to be enabled in the system level 2020-02-17 08:51:59 +08:00
cpu_caps.h hv:enable gpu iommu except APL platforms 2020-02-24 11:47:10 +08:00
cpu.h hv: rename BOOT_CPU_ID to BSP_CPU_ID 2020-02-25 09:08:14 +08:00
cpufeatures.h hv: support xsave in context switch 2019-12-02 09:31:12 +08:00
cpuid.h hv: support xsave in context switch 2019-12-02 09:31:12 +08:00
default_acpi_info.h hv: emulate ACPI reset register for Service OS guest 2019-05-15 11:20:12 +08:00
e820.h hv: mmu: rename e820 to hv_e820 2019-11-07 08:47:02 +08:00
gdt.h hv: coding style: remove no real declaration for external variable 2018-12-20 20:20:08 +08:00
host_pm.h pm: S5: update the system shutdown logical in ACRN 2019-12-23 15:15:09 +08:00
idt.h hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
init.h HV: Add prefix 'p' before 'cpu' to physical cpu related functions 2019-04-24 10:50:28 +08:00
io.h hv:modulization for IO Emulation 2019-01-21 13:49:54 +08:00
ioapic.h hv: Avoid run-time buffer overflows with IOAPIC data structures 2019-06-24 11:41:10 +08:00
irq.h hv: rename VECTOR_XXX and XXX_IRQ Macros 2020-01-14 10:21:23 +08:00
lapic.h HV: clean up redundant macro in lapic.h 2019-12-27 12:27:08 +08:00
mmu.h hv:change function parameter for invept 2019-09-05 16:32:30 +08:00
msr.h hv: msr: remove redundant check in write_pat_msr 2019-12-16 14:32:42 +08:00
multiboot.h hv:tiny cleanup 2019-09-05 09:58:47 +08:00
page.h hv: ept: build 4KB page mapping in EPT for RTVM for MCE on PSC 2019-12-03 09:17:04 +08:00
pci_dev.h hv: vpci: add emulated PCI device configure for SOS 2019-08-09 14:19:49 +08:00
per_cpu.h hv: sched_bvt: add BVT scheduler 2020-02-25 09:11:32 +08:00
pgtable.h hv:change function parameter for invept 2019-09-05 16:32:30 +08:00
security.h hv: ept: apply MCE on page size change mitigation conditionally 2019-12-03 09:17:04 +08:00
seed.h hv: seed: refine header file 2019-03-15 14:09:56 +08:00
sgx.h hv: sgx: add basic support to init sgx resource for vm 2019-05-29 11:24:13 +08:00
timer.h hv: vpci: revert do FLR and BAR restore 2019-12-30 13:43:07 +08:00
trampoline.h hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
vm_config.h hv: CAT is supposed to be enabled in the system level 2020-02-17 08:51:59 +08:00
vmx.h hv: allocate vpid based on vm_id and vcpu_id mapping 2019-04-22 19:57:28 +08:00
vtd.h HV: add DRHD index to pci_pdev 2019-11-27 09:49:32 +08:00
zeropage.h hv:remove common header files 2019-05-07 09:10:13 +08:00