This series adds the __aligned attribute to atomic_t and atomic64_t definitions in include/linux and include/asm-generic (respectively) to get natural alignment of both types on csky, m68k, microblaze, nios2, openrisc and sh.
This series also adds Kconfig options to enable a new run-time warning to help reveal misaligned atomic accesses on platforms which don't trap that. The performance impact is expected to vary across platforms and workloads. The measurements I made on m68k show that some workloads run faster and others slower. --- Changed since v5: - Added acked-by and revewed-by tags. - Added a new macro to inhibit emission of __bug_table section, for the benefit of pre-boot code like the EFI stub loader. Changed since v4: - Dropped parisc header file patch as it's been merged already. - Submitted as PATCH instead of RFC. Changed since v3: - Rebased on v6.17. - New patch to resolve header dependency issue on parisc. - Dropped documentation patch. Changed since v2: - Specify natural alignment for atomic64_t. - CONFIG_DEBUG_ATOMIC checks for natural alignment again. - New patch to add weakened alignment check. - New patch for explicit alignment in BPF header. --- Finn Thain (3): bpf: Explicitly align bpf_res_spin_lock atomic: Specify alignment for atomic_t and atomic64_t atomic: Add option for weaker alignment check Peter Zijlstra (1): atomic: Add alignment check to instrumented atomic operations arch/x86/boot/compressed/Makefile | 1 + drivers/firmware/efi/libstub/Makefile | 1 + include/asm-generic/atomic64.h | 2 +- include/asm-generic/rqspinlock.h | 2 +- include/linux/instrumented.h | 17 +++++++++++++++++ include/linux/types.h | 2 +- kernel/bpf/rqspinlock.c | 1 - lib/Kconfig.debug | 18 ++++++++++++++++++ 8 files changed, 40 insertions(+), 4 deletions(-) -- 2.49.1
