On 17/02/15 17:41, Boris Ostrovsky wrote:
> On 02/17/2015 10:44 AM, Andrew Cooper wrote:
>> On 16/02/15 22:26, Boris Ostrovsky wrote:
>>> diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c
>>> index 1d5ae8d..cf4c70b 100644
>>> --- a/xen/arch/x86/hvm/vpmu.c
>>> +++ b/xen/arch/x86/hvm/vpm
On 02/17/2015 10:44 AM, Andrew Cooper wrote:
On 16/02/15 22:26, Boris Ostrovsky wrote:
diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c
index 1d5ae8d..cf4c70b 100644
--- a/xen/arch/x86/hvm/vpmu.c
+++ b/xen/arch/x86/hvm/vpmu.c
+static struct vcpu *choose_hwdom_vcpu(void)
+{
+un
On 16/02/15 22:26, Boris Ostrovsky wrote:
> diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c
> index 1d5ae8d..cf4c70b 100644
> --- a/xen/arch/x86/hvm/vpmu.c
> +++ b/xen/arch/x86/hvm/vpmu.c
>
> +static struct vcpu *choose_hwdom_vcpu(void)
> +{
> +unsigned idx = smp_processor_id() %
Add support for handling PMU interrupts for PV guests.
VPMU for the interrupted VCPU is unloaded until the guest issues XENPMU_flush
hypercall. This allows the guest to access PMU MSR values that are stored in
VPMU context which is shared between hypervisor and domain, thus avoiding
traps to hyper