On 26/07/2019 15:22, Roger Pau Monné wrote:
> On Fri, Jul 26, 2019 at 02:52:39PM +0100, Andrew Cooper wrote:
>> Future changes are going to need to page align some percpu data.
>>
>> This means that the percpu area needs suiably aligning in the BSS so CPU0 has
>> correctly aligned data.  Shuffle the exact link order of items within the BSS
>> to give .bss.percpu.page_aligned appropriate alignment.
>>
>> Additionally, introduce DEFINE_PER_CPU_PAGE_ALIGNED()
>>
>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
>> ---
>> CC: Jan Beulich <jbeul...@suse.com>
>> CC: Wei Liu <w...@xen.org>
>> CC: Roger Pau Monné <roger....@citrix.com>
>> CC: Stefano Stabellini <sstabell...@kernel.org>
>> CC: Julien Grall <julien.gr...@arm.com>
>> CC: Volodymyr Babchuk <volodymyr_babc...@epam.com>
>> ---
>>  xen/arch/arm/xen.lds.S   | 5 +++--
>>  xen/arch/x86/xen.lds.S   | 5 +++--
>>  xen/include/xen/percpu.h | 2 ++
>>  3 files changed, 8 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
>> index 12c107f45d..07cbdf2543 100644
>> --- a/xen/arch/arm/xen.lds.S
>> +++ b/xen/arch/arm/xen.lds.S
>> @@ -201,14 +201,15 @@ SECTIONS
>>         *(.bss.stack_aligned)
>>         . = ALIGN(PAGE_SIZE);
>>         *(.bss.page_aligned)
>> -       *(.bss)
>> -       . = ALIGN(SMP_CACHE_BYTES);
> Don't you also need a:
>
> . = ALIGN(PAGE_SIZE);
>
> here?

No, (I don't think so).

> Or is the size of .bss.page_aligned also aligned to page size?

Every object inside .bss.page_aligned should have suitable (i.e.
multiple of) size and alignment.  Without this, things will break.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to