Hello, all.
The PLE handler attempts to determine an alternate vCPU to schedule. In
some cases the wrong vCPU is scheduled and performance suffers.
This patch allows for the guest OS to signal, using a hypercall, that
it's starting/ending a critical section. Using this information in the
PLE handler allows for a more intelligent VCPU scheduling determination
to be made. The patch only changes the PLE behaviour if this new
hypercall mechanism is used; if it isn't used, then the existing PLE
algorithm continues to be used to determine the next vCPU.
Benefit from the patch:
- the guest OS real time performance being significantly improved when
using hyper call marking entering and leaving guest OS kernel state.
- The guest OS system clock jitter measured on on Intel E5 2620 reduced
from 400ms down to 6ms.
- The guest OS system lock is set to a 2ms clock interrupt. The jitter
is measured by the difference between dtsc() value in clock interrupt
handler and the expectation of tsc value.
- detail of test report is attached as reference.
Path details:
From 77edfa193a4e29ab357ec3b1e097f8469d418507 Mon Sep 17 00:00:00 2001