• Mark Rutland's avatar
    locking/atomics: build atomic headers as required · 24915609
    Mark Rutland authored
    Andrew and Ingo report that the check-atomics.sh script is simply too slow
    to run for every kernel build, and it's impractical to make it faster
    without rewriting it in something other than shell.
    
    Rather than committing the generated headers, let's regenerate these
    as-required for a pristine tree.
    
    That ensures they're always up-to-date, allows them to be built in
    parallel, and avoid redundant rebuilds, which is a 2-8s saving per
    incremental build.  Since the results are not committed, it's very obvious
    that they should not be modified directly.  If we need to generate more
    headers in future, it's easy to extend Makefile.genheader to permit this.
    
    I've verified that this works in the cases we previously had issues with
    (out-of-tree builds and where scripts have no execute permissions), and
    have tested these cases for both x86_64 and arm64.
    
    The diffstat looks nice, at least...
    
    Link: http://lkml.kernel.org/r/20181123153321.8561-1-mark.rutland@arm.comSigned-off-by: 's avatarMark Rutland <mark.rutland@arm.com>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: 's avatarStephen Rothwell <sfr@canb.auug.org.au>
    24915609
Name
Last commit
Last update
..
alpha Loading commit data...
arc Loading commit data...
arm Loading commit data...
arm64 Loading commit data...
c6x Loading commit data...
csky Loading commit data...
h8300 Loading commit data...
hexagon Loading commit data...
ia64 Loading commit data...
m68k Loading commit data...
microblaze Loading commit data...
mips Loading commit data...
nds32 Loading commit data...
nios2 Loading commit data...
openrisc Loading commit data...
parisc Loading commit data...
powerpc Loading commit data...
riscv Loading commit data...
s390 Loading commit data...
sh Loading commit data...
sparc Loading commit data...
um Loading commit data...
unicore32 Loading commit data...
x86 Loading commit data...
xtensa Loading commit data...
.gitignore Loading commit data...
Kconfig Loading commit data...