>>> On 03.02.15 at 17:02, wrote:
> On 01/30/2015 09:54 AM, Jan Beulich wrote:
> On 05.01.15 at 22:44, wrote:
>>> +static int __init vpmu_init(void)
>>> +{
>>> +int vendor = current_cpu_data.x86_vendor;
>>> +
>>> +if ( vpmu_mode == XENPMU_MODE_OFF )
>>> +{
>>> +printk(XENLO
On 01/30/2015 09:54 AM, Jan Beulich wrote:
On 05.01.15 at 22:44, wrote:
--- a/xen/arch/x86/hvm/vpmu.c
+++ b/xen/arch/x86/hvm/vpmu.c
@@ -497,3 +497,39 @@ long do_xenpmu_op(int op,
XEN_GUEST_HANDLE_PARAM(xen_pmu_params_t) arg)
return ret;
}
+
+static int __init vpmu_init(void)
+{
+i
>>> On 05.01.15 at 22:44, wrote:
> --- a/xen/arch/x86/hvm/vpmu.c
> +++ b/xen/arch/x86/hvm/vpmu.c
> @@ -497,3 +497,39 @@ long do_xenpmu_op(int op,
> XEN_GUEST_HANDLE_PARAM(xen_pmu_params_t) arg)
>
> return ret;
> }
> +
> +static int __init vpmu_init(void)
> +{
> +int vendor = current_c
Move some VPMU initilization operations into __initcalls to avoid performing
same tests and calculations for each vcpu.
Signed-off-by: Boris Ostrovsky
Tested-by: Dietmar Hahn
---
xen/arch/x86/hvm/svm/vpmu.c | 112
xen/arch/x86/hvm/vmx/vpmu_core2.c | 151 ++