Re: [PATCH v3 4/7] x86: switch atomic.h to use atomic-instrumented.h

From: Dmitry Vyukov
Date: Sat Jun 17 2017 - 05:17:06 EST


On Fri, Jun 16, 2017 at 5:54 PM, Andrey Ryabinin
<aryabinin@xxxxxxxxxxxxx> wrote:
> On 06/06/2017 01:11 PM, Dmitry Vyukov wrote:
>> Add arch_ prefix to all atomic operations and include
>> <asm-generic/atomic-instrumented.h>. This will allow
>> to add KASAN instrumentation to all atomic ops.
>>
>> Signed-off-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
>> Cc: Mark Rutland <mark.rutland@xxxxxxx>
>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> Cc: Will Deacon <will.deacon@xxxxxxx>
>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>> Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
>> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>> Cc: kasan-dev@xxxxxxxxxxxxxxxx
>> Cc: linux-mm@xxxxxxxxx
>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>> Cc: x86@xxxxxxxxxx
>>
>> ---
>
>
>
>
>> -static __always_inline void atomic_set(atomic_t *v, int i)
>> +static __always_inline void arch_atomic_set(atomic_t *v, int i)
>> {
>> + /*
>> + * We could use WRITE_ONCE_NOCHECK() if it exists, similar to
>> + * READ_ONCE_NOCHECK() in arch_atomic_read(). But there is no such
>> + * thing at the moment, and introducing it for this case does not
>> + * worth it.
>> + */
>
>
> I'd rather remove this comment. I woudn't say that WRITE_ONCE() here looks confusing
> and needs comment. Also there is no READ_ONCE_NOCHECK() in arch_atomic_read() anymore.

Done.
It also should have gone to the patch that adds comments.


> Otherwise,
> Reviewed-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
>
>> WRITE_ONCE(v->counter, i);
>> }