[PATCH v6 0/4] Align atomic storage

Finn Thain posted 4 patches 1 month, 1 week ago
There is a newer version of this series
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(-)
[PATCH v6 0/4] Align atomic storage
Posted by Finn Thain 1 month, 1 week ago
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