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 <[email protected]>
Reviewed-by: Stefano Stabellini <[email protected]> > --- > CC: Anthony PERARD <[email protected]> > CC: Michal Orzel <[email protected]> > CC: Jan Beulich <[email protected]> > CC: Julien Grall <[email protected]> > CC: Roger Pau Monné <[email protected]> > CC: Stefano Stabellini <[email protected]> > CC: Dario Faggioli <[email protected]> > CC: Juergen Gross <[email protected]> > CC: George Dunlap <[email protected]> > > 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 >
