aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/rtc.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-07 14:06:35 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-07 14:06:35 +0100
commitb67758cda13b743f08d8964c68d2dfe52c9f3486 (patch)
tree29760223aeb10f1825e761e7833e050bb420a121 /xen/arch/x86/hvm/rtc.c
parentaa4af83c50a2dc5f49f42698b5aa772476a778b0 (diff)
downloadxen-b67758cda13b743f08d8964c68d2dfe52c9f3486.tar.gz
xen-b67758cda13b743f08d8964c68d2dfe52c9f3486.tar.bz2
xen-b67758cda13b743f08d8964c68d2dfe52c9f3486.zip
vmx: Add support for Pause-Loop Exiting
New NHM processors will support Pause-Loop Exiting by adding 2 VM-execution control fields: PLE_Gap - upper bound on the amount of time between two successive executions of PAUSE in a loop. PLE_Window - upper bound on the amount of time a guest is allowed to execute in a PAUSE loop If the time, between this execution of PAUSE and previous one, exceeds the PLE_Gap, processor consider this PAUSE belongs to a new loop. Otherwise, processor determins the the total execution time of this loop(since 1st PAUSE in this loop), and triggers a VM exit if total time exceeds the PLE_Window. * Refer SDM volume 3b section 21.6.13 & 22.1.3. Pause-Loop Exiting can be used to detect Lock-Holder Preemption, where one VP is sched-out after hold a spinlock, then other VPs for same lock are sched-in to waste the CPU time. Our tests indicate that most spinlocks are held for less than 2^12 cycles. Performance tests show that with 2X LP over-commitment we can get +2% perf improvement for kernel build(Even more perf gain with more LPs). Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Diffstat (limited to 'xen/arch/x86/hvm/rtc.c')
0 files changed, 0 insertions, 0 deletions