All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] x86: re-order struct arch_domain fields
@ 2015-02-10 11:34 Jan Beulich
  2015-02-10 11:53 ` Andrew Cooper
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Beulich @ 2015-02-10 11:34 UTC (permalink / raw)
  To: xen-devel; +Cc: Andrew Cooper, Keir Fraser

[-- Attachment #1: Type: text/plain, Size: 3051 bytes --]

... to reduce padding holes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Drop vtsc_usercount movement to struct pv_domain.

--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -255,13 +255,16 @@ struct arch_domain
 
     unsigned int hv_compat_vstart;
 
-    bool_t s3_integrity;
+    /* Maximum physical-address bitwidth supported by this guest. */
+    unsigned int physaddr_bitsize;
 
     /* I/O-port admin-specified access capabilities. */
     struct rangeset *ioport_caps;
     uint32_t pci_cf8;
     uint8_t cmos_idx;
 
+    bool_t s3_integrity;
+
     struct list_head pdev_list;
 
     union {
@@ -275,6 +278,18 @@ struct arch_domain
      * page_alloc lock */
     int page_alloc_unlock_level;
 
+    /* Continuable domain_relinquish_resources(). */
+    enum {
+        RELMEM_not_started,
+        RELMEM_shared,
+        RELMEM_xen,
+        RELMEM_l4,
+        RELMEM_l3,
+        RELMEM_l2,
+        RELMEM_done,
+    } relmem;
+    struct page_list_head relmem_list;
+
     /* nestedhvm: translate l2 guest physical to host physical */
     struct p2m_domain *nested_p2m[MAX_NESTEDP2M];
     mm_lock_t nested_p2m_lock;
@@ -282,27 +297,16 @@ struct arch_domain
     /* NB. protected by d->event_lock and by irq_desc[irq].lock */
     struct radix_tree_root irq_pirq;
 
-    /* Maximum physical-address bitwidth supported by this guest. */
-    unsigned int physaddr_bitsize;
-
     /* Is a 32-bit PV (non-HVM) guest? */
     bool_t is_32bit_pv;
     /* Is shared-info page in 32-bit format? */
     bool_t has_32bit_shinfo;
+
     /* Domain cannot handle spurious page faults? */
     bool_t suppress_spurious_page_faults;
 
-    /* Continuable domain_relinquish_resources(). */
-    enum {
-        RELMEM_not_started,
-        RELMEM_shared,
-        RELMEM_xen,
-        RELMEM_l4,
-        RELMEM_l3,
-        RELMEM_l2,
-        RELMEM_done,
-    } relmem;
-    struct page_list_head relmem_list;
+    /* Is PHYSDEVOP_eoi to automatically unmask the event channel? */
+    bool_t auto_unmask;
 
     cpuid_input_t *cpuids;
 
@@ -329,15 +333,12 @@ struct arch_domain
     struct e820entry *e820;
     unsigned int nr_e820;
 
-    /* set auto_unmask to 1 if you want PHYSDEVOP_eoi to automatically
-     * unmask the event channel */
-    bool_t auto_unmask;
+    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
+
     /* Shared page for notifying that explicit PIRQ EOI is required. */
     unsigned long *pirq_eoi_map;
     unsigned long pirq_eoi_map_mfn;
-
-    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
-} __cacheline_aligned;
+};
 
 #define has_arch_pdevs(d)    (!list_empty(&(d)->arch.pdev_list))
 
@@ -493,7 +494,7 @@ struct arch_vcpu
         unsigned long eip;
     } mem_event;
 
-} __cacheline_aligned;
+};
 
 smap_check_policy_t smap_policy_change(struct vcpu *v,
                                        smap_check_policy_t new_policy);




[-- Attachment #2: x86-arch_domain-reorder.patch --]
[-- Type: text/plain, Size: 3088 bytes --]

x86: re-order struct arch_domain fields

... to reduce padding holes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Drop vtsc_usercount movement to struct pv_domain.

--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -255,13 +255,16 @@ struct arch_domain
 
     unsigned int hv_compat_vstart;
 
-    bool_t s3_integrity;
+    /* Maximum physical-address bitwidth supported by this guest. */
+    unsigned int physaddr_bitsize;
 
     /* I/O-port admin-specified access capabilities. */
     struct rangeset *ioport_caps;
     uint32_t pci_cf8;
     uint8_t cmos_idx;
 
+    bool_t s3_integrity;
+
     struct list_head pdev_list;
 
     union {
@@ -275,6 +278,18 @@ struct arch_domain
      * page_alloc lock */
     int page_alloc_unlock_level;
 
+    /* Continuable domain_relinquish_resources(). */
+    enum {
+        RELMEM_not_started,
+        RELMEM_shared,
+        RELMEM_xen,
+        RELMEM_l4,
+        RELMEM_l3,
+        RELMEM_l2,
+        RELMEM_done,
+    } relmem;
+    struct page_list_head relmem_list;
+
     /* nestedhvm: translate l2 guest physical to host physical */
     struct p2m_domain *nested_p2m[MAX_NESTEDP2M];
     mm_lock_t nested_p2m_lock;
@@ -282,27 +297,16 @@ struct arch_domain
     /* NB. protected by d->event_lock and by irq_desc[irq].lock */
     struct radix_tree_root irq_pirq;
 
-    /* Maximum physical-address bitwidth supported by this guest. */
-    unsigned int physaddr_bitsize;
-
     /* Is a 32-bit PV (non-HVM) guest? */
     bool_t is_32bit_pv;
     /* Is shared-info page in 32-bit format? */
     bool_t has_32bit_shinfo;
+
     /* Domain cannot handle spurious page faults? */
     bool_t suppress_spurious_page_faults;
 
-    /* Continuable domain_relinquish_resources(). */
-    enum {
-        RELMEM_not_started,
-        RELMEM_shared,
-        RELMEM_xen,
-        RELMEM_l4,
-        RELMEM_l3,
-        RELMEM_l2,
-        RELMEM_done,
-    } relmem;
-    struct page_list_head relmem_list;
+    /* Is PHYSDEVOP_eoi to automatically unmask the event channel? */
+    bool_t auto_unmask;
 
     cpuid_input_t *cpuids;
 
@@ -329,15 +333,12 @@ struct arch_domain
     struct e820entry *e820;
     unsigned int nr_e820;
 
-    /* set auto_unmask to 1 if you want PHYSDEVOP_eoi to automatically
-     * unmask the event channel */
-    bool_t auto_unmask;
+    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
+
     /* Shared page for notifying that explicit PIRQ EOI is required. */
     unsigned long *pirq_eoi_map;
     unsigned long pirq_eoi_map_mfn;
-
-    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
-} __cacheline_aligned;
+};
 
 #define has_arch_pdevs(d)    (!list_empty(&(d)->arch.pdev_list))
 
@@ -493,7 +494,7 @@ struct arch_vcpu
         unsigned long eip;
     } mem_event;
 
-} __cacheline_aligned;
+};
 
 smap_check_policy_t smap_policy_change(struct vcpu *v,
                                        smap_check_policy_t new_policy);

[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] x86: re-order struct arch_domain fields
  2015-02-10 11:34 [PATCH v2] x86: re-order struct arch_domain fields Jan Beulich
@ 2015-02-10 11:53 ` Andrew Cooper
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Cooper @ 2015-02-10 11:53 UTC (permalink / raw)
  To: Jan Beulich, xen-devel; +Cc: Keir Fraser

On 10/02/15 11:34, Jan Beulich wrote:
> ... to reduce padding holes.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
> v2: Drop vtsc_usercount movement to struct pv_domain.
>
> --- a/xen/include/asm-x86/domain.h
> +++ b/xen/include/asm-x86/domain.h
> @@ -255,13 +255,16 @@ struct arch_domain
>  
>      unsigned int hv_compat_vstart;
>  
> -    bool_t s3_integrity;
> +    /* Maximum physical-address bitwidth supported by this guest. */
> +    unsigned int physaddr_bitsize;
>  
>      /* I/O-port admin-specified access capabilities. */
>      struct rangeset *ioport_caps;
>      uint32_t pci_cf8;
>      uint8_t cmos_idx;
>  
> +    bool_t s3_integrity;
> +
>      struct list_head pdev_list;
>  
>      union {
> @@ -275,6 +278,18 @@ struct arch_domain
>       * page_alloc lock */
>      int page_alloc_unlock_level;
>  
> +    /* Continuable domain_relinquish_resources(). */
> +    enum {
> +        RELMEM_not_started,
> +        RELMEM_shared,
> +        RELMEM_xen,
> +        RELMEM_l4,
> +        RELMEM_l3,
> +        RELMEM_l2,
> +        RELMEM_done,
> +    } relmem;
> +    struct page_list_head relmem_list;
> +
>      /* nestedhvm: translate l2 guest physical to host physical */
>      struct p2m_domain *nested_p2m[MAX_NESTEDP2M];
>      mm_lock_t nested_p2m_lock;
> @@ -282,27 +297,16 @@ struct arch_domain
>      /* NB. protected by d->event_lock and by irq_desc[irq].lock */
>      struct radix_tree_root irq_pirq;
>  
> -    /* Maximum physical-address bitwidth supported by this guest. */
> -    unsigned int physaddr_bitsize;
> -
>      /* Is a 32-bit PV (non-HVM) guest? */
>      bool_t is_32bit_pv;
>      /* Is shared-info page in 32-bit format? */
>      bool_t has_32bit_shinfo;
> +
>      /* Domain cannot handle spurious page faults? */
>      bool_t suppress_spurious_page_faults;
>  
> -    /* Continuable domain_relinquish_resources(). */
> -    enum {
> -        RELMEM_not_started,
> -        RELMEM_shared,
> -        RELMEM_xen,
> -        RELMEM_l4,
> -        RELMEM_l3,
> -        RELMEM_l2,
> -        RELMEM_done,
> -    } relmem;
> -    struct page_list_head relmem_list;
> +    /* Is PHYSDEVOP_eoi to automatically unmask the event channel? */
> +    bool_t auto_unmask;
>  
>      cpuid_input_t *cpuids;
>  
> @@ -329,15 +333,12 @@ struct arch_domain
>      struct e820entry *e820;
>      unsigned int nr_e820;
>  
> -    /* set auto_unmask to 1 if you want PHYSDEVOP_eoi to automatically
> -     * unmask the event channel */
> -    bool_t auto_unmask;
> +    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
> +
>      /* Shared page for notifying that explicit PIRQ EOI is required. */
>      unsigned long *pirq_eoi_map;
>      unsigned long pirq_eoi_map_mfn;
> -
> -    unsigned int psr_rmid; /* RMID assigned to the domain for CMT */
> -} __cacheline_aligned;
> +};
>  
>  #define has_arch_pdevs(d)    (!list_empty(&(d)->arch.pdev_list))
>  
> @@ -493,7 +494,7 @@ struct arch_vcpu
>          unsigned long eip;
>      } mem_event;
>  
> -} __cacheline_aligned;
> +};
>  
>  smap_check_policy_t smap_policy_change(struct vcpu *v,
>                                         smap_check_policy_t new_policy);
>
>
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-02-10 11:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-10 11:34 [PATCH v2] x86: re-order struct arch_domain fields Jan Beulich
2015-02-10 11:53 ` Andrew Cooper

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.