Re: [PATCH 4/4] rseq/selftests: Implement MIPS support
From: Mathieu Desnoyers
Date: Fri Jun 15 2018 - 13:37:26 EST
----- On Jun 15, 2018, at 6:58 AM, James Hogan jhogan@xxxxxxxxxx wrote:
> On Thu, Jun 14, 2018 at 04:52:10PM -0700, Paul Burton wrote:
>> +#define __RSEQ_ASM_DEFINE_TABLE(version, flags, start_ip, \
>
> Nit: technically all these \'s are on 81st column...
>
>> +#define __RSEQ_ASM_DEFINE_ABORT(table_label, label, teardown, \
>> + abort_label, version, flags, \
>> + start_ip, post_commit_offset, abort_ip) \
>> + ".balign 32\n\t" \
>
> ARM doesn't do this for DEFINE_ABORT. Is it intentional that we do for
> MIPS?
Given that include/uapi/linux/rseq.h declares struct rseq_cs as
__attribute__((aligned(4 * sizeof(__u64)))), and considering this
comment:
/*
* struct rseq_cs is aligned on 4 * 8 bytes to ensure it is always
* contained within a single cache-line. It is usually declared as
* link-time constant data.
*/
The .balign 32 is the right thing to do here. I will add a .balign 32
to ARM selftests code as well.
Thanks,
Mathieu
>
> Thanks
> James
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com