diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-07-07 14:06:35 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-07-07 14:06:35 +0100 |
commit | b67758cda13b743f08d8964c68d2dfe52c9f3486 (patch) | |
tree | 29760223aeb10f1825e761e7833e050bb420a121 /xen/arch/x86/hvm/rtc.c | |
parent | aa4af83c50a2dc5f49f42698b5aa772476a778b0 (diff) | |
download | xen-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