Re: [Xen-devel] [PATCH 04/10] VMX: New data structure member to support PML

2015-03-30 Thread Kai Huang



On 03/28/2015 04:48 AM, Andrew Cooper wrote:

On 27/03/15 02:35, Kai Huang wrote:

A new 4K page pointer is added to arch_vmx_struct as PML buffer for vcpu. And a
new 'status' field is added to vmx_domain to indicate whether PML is enabled for
the domain or not. The 'status' field also can be used for further similiar
purpose.

Note both new members don't have to be initialized to zero explicitly as both
vcpu and domain structure are zero-ed when they are created.

Signed-off-by: Kai Huang kai.hu...@linux.intel.com
---
  xen/include/asm-x86/hvm/vmx/vmcs.h | 7 +++
  1 file changed, 7 insertions(+)

diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h 
b/xen/include/asm-x86/hvm/vmx/vmcs.h
index 47b4df2..8cc1122 100644
--- a/xen/include/asm-x86/hvm/vmx/vmcs.h
+++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
@@ -71,8 +71,12 @@ struct ept_data {
  cpumask_var_t synced_mask;
  };
  
+#define _VMX_DOMAIN_PML_ENABLED0

+#define VMX_DOMAIN_PML_ENABLED (1ul  _VMX_DOMAIN_PML_ENABLED)
  struct vmx_domain {
  unsigned long apic_access_mfn;
+/* VMX_DOMAIN_* */
+unsigned long status;
  };
  
  struct pi_desc {

@@ -143,6 +147,9 @@ struct arch_vmx_struct {
  /* Bitmap to control vmexit policy for Non-root VMREAD/VMWRITE */
  struct page_info *vmread_bitmap;
  struct page_info *vmwrite_bitmap;
+
+#define PML_ENTITY_NUM  512

This is the number of pml entries, not entities.  NR_PML_ENTRIES perhaps?

Yours is better indeed. Will do.




+struct page_info   *pml_pg;

Please align the fields vertically like vmwrite_bitmap.

Sure.

Thanks,
-Kai


~Andrew


  };
  
  int vmx_create_vmcs(struct vcpu *v);


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel



___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH 04/10] VMX: New data structure member to support PML

2015-03-27 Thread Andrew Cooper
On 27/03/15 02:35, Kai Huang wrote:
 A new 4K page pointer is added to arch_vmx_struct as PML buffer for vcpu. And 
 a
 new 'status' field is added to vmx_domain to indicate whether PML is enabled 
 for
 the domain or not. The 'status' field also can be used for further similiar
 purpose.

 Note both new members don't have to be initialized to zero explicitly as both
 vcpu and domain structure are zero-ed when they are created.

 Signed-off-by: Kai Huang kai.hu...@linux.intel.com
 ---
  xen/include/asm-x86/hvm/vmx/vmcs.h | 7 +++
  1 file changed, 7 insertions(+)

 diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h 
 b/xen/include/asm-x86/hvm/vmx/vmcs.h
 index 47b4df2..8cc1122 100644
 --- a/xen/include/asm-x86/hvm/vmx/vmcs.h
 +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
 @@ -71,8 +71,12 @@ struct ept_data {
  cpumask_var_t synced_mask;
  };
  
 +#define _VMX_DOMAIN_PML_ENABLED0
 +#define VMX_DOMAIN_PML_ENABLED (1ul  _VMX_DOMAIN_PML_ENABLED)
  struct vmx_domain {
  unsigned long apic_access_mfn;
 +/* VMX_DOMAIN_* */
 +unsigned long status;
  };
  
  struct pi_desc {
 @@ -143,6 +147,9 @@ struct arch_vmx_struct {
  /* Bitmap to control vmexit policy for Non-root VMREAD/VMWRITE */
  struct page_info *vmread_bitmap;
  struct page_info *vmwrite_bitmap;
 +
 +#define PML_ENTITY_NUM  512

This is the number of pml entries, not entities.  NR_PML_ENTRIES perhaps?

 +struct page_info *pml_pg;

Please align the fields vertically like vmwrite_bitmap.

~Andrew

  };
  
  int vmx_create_vmcs(struct vcpu *v);


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel