Re: [RFC PATCH for 4.17 02/21] rseq: Introduce restartable sequences system call (v12)

From: Mathieu Desnoyers
Date: Wed Mar 28 2018 - 10:26:22 EST


----- On Mar 28, 2018, at 7:22 AM, Peter Zijlstra peterz@xxxxxxxxxxxxx wrote:

> On Tue, Mar 27, 2018 at 12:05:23PM -0400, Mathieu Desnoyers wrote:
>> +/*
>> + * 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.
>> + */
>> +struct rseq_cs {
>> + /* Version of this structure. */
>> + uint32_t version;
>> + /* enum rseq_cs_flags */
>> + uint32_t flags;
>> + LINUX_FIELD_u32_u64(start_ip);
>> + /* Offset from start_ip. */
>> + LINUX_FIELD_u32_u64(post_commit_offset);
>> + LINUX_FIELD_u32_u64(abort_ip);
>> +} __attribute__((aligned(4 * sizeof(uint64_t))));
>
> What's with the uint32_t ? The normal Linux API type is __u32 afaik.

Will fix. Working on both kernel and user-space code in parallel kind
of does that to the brain. ;-)

Thanks,

Mathieu


--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com