# \[PATCHv3 1/6\] atomics: add common header generation files

- From: Andrew Morton \<akpm@linux-foundation.org\>
- Date: 2018-11-21 22:34:12 
- List: linux-arm-kernel
- Page: https://ratatoskr.run/linux-arm-kernel/2018/11/5440893
- Thread: https://ratatoskr.run/linux-arm-kernel/2018/09/5371463/t.md

```text
On Fri, 16 Nov 2018 02:51:21 +0000 Mark Rutland [ref] wrote:

> Hi Andrew,
> 
> On Thu, Nov 15, 2018 at 03:10:48PM -0800, Andrew Morton wrote:
> > On Tue,  4 Sep 2018 11:48:25 +0100 Mark Rutland [ref] wrote:
> > 
> > > To minimize repetition, to allow for future rework, and to ensure
> > > regularity of the various atomic APIs, we'd like to automatically
> > > generate (the bulk of) a number of headers related to atomics.
> > > 
> > > This patch adds the infrastructure to do so, leaving actual conversion
> > > of headers to subsequent patches.
> > 
> > This thing is appallingly slow.  `sh scripts/atomic/check-atomics.sh'
> > takes 8 seconds on a machine which builds an allnoconfig kernel in 30
> > seconds.
> 
> Hmm... on my laptop it's less than half that, and allnoconfig takes ~35s, so
> clearly there's a major difference between our setups.

check-atomics.sh is (was) single-threaded, so the relative pain factor
will increase with the number of cores.

> For reference, which distro are you using, and what is /bin/sh on your box?

I forget :) - I can't get at that machine from here.  Recentish
Ubuntu(ish) on a 12-core.

It seems to be partially fixed in today's linux-next?  On this 12-core
Ubuntu 17.10 bash-4.4-5ubuntu1 box the delta is 25.9s -> 27.2s.

But my one-liner remains cruelly unapplied so the build still generates
errors.  All that seems to have changed today is that the -EPERM is simply
dropped on the floor rather than terminating the build.
```
