Re: [PATCH 0/7] atomics: generate atomic headers

From: Peter Zijlstra
Date: Tue Jun 05 2018 - 09:33:12 EST


On Tue, May 29, 2018 at 07:07:39PM +0100, Mark Rutland wrote:
> Longer-term, I think things could be simplified if we were to rework the
> headers such that we have:
>
> * arch/*/include/asm/atomic.h providing arch_atomic_*().
>
> * include/linux/atomic-raw.h building raw_atomic_*() atop of the
> arch_atomic_*() definitions, filling in gaps in the API. Having
> separate arch_ and raw_ namespaces would simplify the ifdeffery.
>
> * include/linux/atomic.h building atomic_*() atop of the raw_atomic_*()
> definitions, complete with any instrumentation. Instrumenting at this
> level would lower the instrumentation overhead, and would not require
> any ifdeffery as the whole raw_atomic_*() API would be available.
>
> ... I've avoided this for the time being due to the necessary churn in
> arch code.

I'm not entirely sure I get the point of raw_atomic, we only need to
instrument the arch_atomic bits, right? When those are done, everything
that's build on top will also automagically be instrumented.