On Mon, 3 Mar 2025, Andrew Cooper wrote:
> struct domain is always a page aligned allocation.  Update it's type to
> reflect this, so we can safely reuse the lower bits in the pointer for
> auxiliary information.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>

Reviewed-by: Stefano Stabellini <sstabell...@kernel.org>


> ---
> CC: Anthony PERARD <anthony.per...@vates.tech>
> CC: Michal Orzel <michal.or...@amd.com>
> CC: Jan Beulich <jbeul...@suse.com>
> CC: Julien Grall <jul...@xen.org>
> CC: Roger Pau Monné <roger....@citrix.com>
> CC: Stefano Stabellini <sstabell...@kernel.org>
> CC: Dario Faggioli <dfaggi...@suse.com>
> CC: Juergen Gross <jgr...@suse.com>
> CC: George Dunlap <g...@xenproject.org>
> 
> v2:
>  * New
> 
> Interestingly this does cause two changes in the resulting binary, both caused
> by GCC electing to use a more complicated addressing mode to save one ADD
> instruction.
> ---
>  xen/include/xen/sched.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 037c83fda219..8412b45178ca 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -645,7 +645,7 @@ struct domain
>      unsigned int num_llc_colors;
>      const unsigned int *llc_colors;
>  #endif
> -};
> +} __aligned(PAGE_SIZE);
>  
>  static inline struct page_list_head *page_to_list(
>      struct domain *d, const struct page_info *pg)
> -- 
> 2.39.5
> 

Reply via email to