All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: kevin.tian@intel.com, keir@xen.org, jun.nakajima@intel.com,
	andrew.cooper3@citrix.com, donald.d.dugger@intel.com,
	xen-devel@lists.xen.org, dietmar.hahn@ts.fujitsu.com,
	suravee.suthikulpanit@amd.com
Subject: Re: [PATCH v6 08/19] x86/VPMU: Add public xenpmu.h
Date: Tue, 20 May 2014 13:28:18 -0400	[thread overview]
Message-ID: <537B90B2.2040405@oracle.com> (raw)
In-Reply-To: <537B8FD3020000780001435C@mail.emea.novell.com>

On 05/20/2014 11:24 AM, Jan Beulich wrote:
>
>> --- /dev/null
>> +++ b/xen/include/public/arch-x86/pmu.h
>> @@ -0,0 +1,62 @@
>> +#ifndef __XEN_PUBLIC_ARCH_X86_PMU_H__
>> +#define __XEN_PUBLIC_ARCH_X86_PMU_H__
>> +
>> +/* x86-specific PMU definitions */
>> +
>> +/* AMD PMU registers and structures */
>> +struct xen_pmu_amd_ctxt {
>> +    uint32_t counters;       /* Offset to counter MSRs */
>> +    uint32_t ctrls;          /* Offset to control MSRs */
>> +};
>> +
>> +/* Intel PMU registers and structures */
>> +struct xen_pmu_cntr_pair {
>> +    uint64_t counter;
>> +    uint64_t control;
>> +};
>> +
>> +struct xen_pmu_intel_ctxt {
>> +    uint64_t global_ctrl;
>> +    uint64_t global_ovf_ctrl;
>> +    uint64_t global_status;
>> +    uint64_t fixed_ctrl;
>> +    uint64_t ds_area;
>> +    uint64_t pebs_enable;
>> +    uint64_t debugctl;
>> +    uint32_t fixed_counters;  /* Offset to fixed counter MSRs */
>> +    uint32_t arch_counters;   /* Offset to architectural counter MSRs */
>> +};
>> +
>> +#define XENPMU_MAX_CTXT_SZ        (sizeof(struct xen_pmu_amd_ctxt) > \
>> +                                    sizeof(struct xen_pmu_intel_ctxt) ? \
>> +                                     sizeof(struct xen_pmu_amd_ctxt) : \
>> +                                     sizeof(struct xen_pmu_intel_ctxt))
>> +#define XENPMU_CTXT_PAD_SZ        (((XENPMU_MAX_CTXT_SZ + 64) & ~63) + 128)
> Is this really usefully derived from XENPMU_MAX_CTXT_SZ? I.e. is it
> okay for this value to change when one of the structures grows big
> enough? I would have thought that the padding below is to fix the
> size of the structure once and for all (and if that's right, I suppose
> a respective BUILD_BUG_ON() would be quite desirable).


Yes, the way XENPMU_CTXT_PAD_SZ is calculated is wrong, it should be a 
fixed value, not derived from arch-specific structures sizes.


>> --- /dev/null
>> +++ b/xen/include/public/pmu.h
>> @@ -0,0 +1,38 @@
>> +#ifndef __XEN_PUBLIC_PMU_H__
>> +#define __XEN_PUBLIC_PMU_H__
>> +
>> +#include "xen.h"
>> +#if defined(__i386__) || defined(__x86_64__)
>> +#include "arch-x86/pmu.h"
>> +#elif defined (__arm__) || defined (__aarch64__)
>> +#include "arch-arm.h"
>> +#else
>> +#error "Unsupported architecture"
>> +#endif
>> +
>> +#define XENPMU_VER_MAJ    0
>> +#define XENPMU_VER_MIN    0
> Do you really want to start at 0.0?

Right, I'll start with 0.1

-boris

  reply	other threads:[~2014-05-20 17:28 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 15:53 [PATCH v6 00/19] x86/PMU: Xen PMU PV(H) support Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 01/19] common/symbols: Export hypervisor symbols to privileged guest Boris Ostrovsky
2014-05-16  8:05   ` Jan Beulich
2014-05-16 14:58     ` Boris Ostrovsky
2014-05-16 15:16       ` Jan Beulich
2014-05-16 16:12         ` Boris Ostrovsky
2014-06-05 10:29     ` Tim Deegan
2014-05-13 15:53 ` [PATCH v6 02/19] VPMU: Mark context LOADED before registers are loaded Boris Ostrovsky
2014-05-19 14:18   ` Jan Beulich
2014-05-19 15:28     ` Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 03/19] x86/VPMU: Minor VPMU cleanup Boris Ostrovsky
2014-05-19 11:55   ` Tian, Kevin
2014-05-19 14:26   ` Jan Beulich
2014-05-19 15:35     ` Boris Ostrovsky
2014-05-19 15:42       ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 04/19] intel/VPMU: Clean up Intel VPMU code Boris Ostrovsky
2014-05-19 11:59   ` Tian, Kevin
2014-05-19 14:30   ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 05/19] vmx: Merge MSR management routines Boris Ostrovsky
2014-05-19 12:00   ` Tian, Kevin
2014-05-22 10:24   ` Dietmar Hahn
2014-05-22 13:48     ` Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 06/19] x86/VPMU: Handle APIC_LVTPC accesses Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 07/19] intel/VPMU: MSR_CORE_PERF_GLOBAL_CTRL should be initialized to zero Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 08/19] x86/VPMU: Add public xenpmu.h Boris Ostrovsky
2014-05-19 12:02   ` Tian, Kevin
2014-05-20 15:24   ` Jan Beulich
2014-05-20 17:28     ` Boris Ostrovsky [this message]
2014-05-21  7:19   ` Dietmar Hahn
2014-05-21 13:56     ` Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 09/19] x86/VPMU: Make vpmu not HVM-specific Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 10/19] x86/VPMU: Interface for setting PMU mode and flags Boris Ostrovsky
2014-05-20 15:40   ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 11/19] x86/VPMU: Initialize PMU for PV guests Boris Ostrovsky
2014-05-20 15:51   ` Jan Beulich
2014-05-20 17:47     ` Boris Ostrovsky
2014-05-21  8:01       ` Jan Beulich
2014-05-21 14:03         ` Boris Ostrovsky
2014-05-20 15:52   ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 12/19] x86/VPMU: Add support for PMU register handling on " Boris Ostrovsky
2014-05-22 14:50   ` Jan Beulich
2014-05-22 17:16     ` Boris Ostrovsky
2014-05-23  6:27       ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 13/19] x86/VPMU: Handle PMU interrupts for " Boris Ostrovsky
2014-05-22 15:30   ` Jan Beulich
2014-05-22 17:25     ` Boris Ostrovsky
2014-05-23  6:29       ` Jan Beulich
2014-05-13 15:53 ` [PATCH v6 14/19] x86/VPMU: Merge vpmu_rdmsr and vpmu_wrmsr Boris Ostrovsky
2014-05-19 12:04   ` Tian, Kevin
2014-05-13 15:53 ` [PATCH v6 15/19] x86/VPMU: Add privileged PMU mode Boris Ostrovsky
2014-05-26 11:48   ` Jan Beulich
2014-05-27  2:08     ` Boris Ostrovsky
2014-05-27  9:10       ` Jan Beulich
2014-05-27 13:31         ` Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 16/19] x86/VPMU: Save VPMU state for PV guests during context switch Boris Ostrovsky
2014-05-26 12:03   ` Jan Beulich
2014-05-30 21:13     ` Tian, Kevin
2014-05-13 15:53 ` [PATCH v6 17/19] x86/VPMU: NMI-based VPMU support Boris Ostrovsky
2014-05-26 15:55   ` Jan Beulich
2014-05-27  2:57     ` Boris Ostrovsky
2014-05-30 21:12   ` Tian, Kevin
2014-05-13 15:53 ` [PATCH v6 18/19] x86/VPMU: Suport for PVH guests Boris Ostrovsky
2014-05-13 15:53 ` [PATCH v6 19/19] x86/VPMU: Move VPMU files up from hvm/ directory Boris Ostrovsky
2014-05-16  7:40 ` [PATCH v6 00/19] x86/PMU: Xen PMU PV(H) support Jan Beulich
2014-05-16 14:57   ` Boris Ostrovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=537B90B2.2040405@oracle.com \
    --to=boris.ostrovsky@oracle.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dietmar.hahn@ts.fujitsu.com \
    --cc=donald.d.dugger@intel.com \
    --cc=jun.nakajima@intel.com \
    --cc=keir@xen.org \
    --cc=kevin.tian@intel.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.