linux-m68k.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 0/3] Align atomic storage
@ 2025-09-14  0:45 Finn Thain
  2025-09-14  0:45 ` [RFC v2 1/3] documentation: Discourage alignment assumptions Finn Thain
                   ` (2 more replies)
  0 siblings, 3 replies; 44+ messages in thread
From: Finn Thain @ 2025-09-14  0:45 UTC (permalink / raw)
  To: Peter Zijlstra, Will Deacon
  Cc: Andrew Morton, Arnd Bergmann, Boqun Feng, Jonathan Corbet,
	Geert Uytterhoeven, linux-arch, linux-doc, linux-kernel,
	linux-m68k, Mark Rutland

This series adds the __aligned attribute to atomic_t and atomic64_t.
It also adds a Kconfig option to enable a new runtime warning to help
reveal misaligned atomic accesses on platforms which don't trap that.

Some people might assume scalars are aligned to 4-byte boundaries, while
others might assume natural alignment. Best not to encourage such
assumptions.

Moreover, being that locks are performance sensitive, and being that
atomic operations tend to involve further assumptions, there seems to be
room for improvement here.

Pertinent to this discussion are the section "Memory Efficiency" in
Documentation/RCU/Design/Requirements/Requirements.rst
and the section "GUARANTEES" in Documentation/memory-barriers.txt


Finn Thain (2):
  documentation: Discourage alignment assumptions
  atomic: Specify alignment for atomic_t and atomic64_t

Peter Zijlstra (1):
  atomic: Add alignment check to instrumented atomic operations

 Documentation/core-api/unaligned-memory-access.rst |  7 -------
 include/asm-generic/atomic64.h                     |  2 +-
 include/linux/instrumented.h                       |  4 ++++
 include/linux/types.h                              |  2 +-
 lib/Kconfig.debug                                  | 10 ++++++++++
 5 files changed, 16 insertions(+), 9 deletions(-)

-- 
2.49.1


^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2025-10-06 11:09 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-14  0:45 [RFC v2 0/3] Align atomic storage Finn Thain
2025-09-14  0:45 ` [RFC v2 1/3] documentation: Discourage alignment assumptions Finn Thain
2025-09-14  0:45 ` [RFC v2 3/3] atomic: Add alignment check to instrumented atomic operations Finn Thain
2025-09-15  8:00   ` Peter Zijlstra
2025-09-15  9:38     ` Finn Thain
2025-09-15 10:06       ` Peter Zijlstra
2025-09-15 10:37         ` Finn Thain
2025-09-15 11:20           ` Arnd Bergmann
2025-09-16  0:16             ` Finn Thain
2025-09-16 10:10               ` Geert Uytterhoeven
2025-09-17  1:23                 ` Finn Thain
2025-09-16 12:37               ` Arnd Bergmann
2025-09-16 21:38                 ` Brad Boyer
2025-09-17 16:54                   ` Andreas Schwab
2025-09-17  2:14                 ` Finn Thain
2025-09-22 15:49                   ` Arnd Bergmann
2025-09-23  6:39                     ` Finn Thain
2025-09-14  0:45 ` [RFC v2 2/3] atomic: Specify alignment for atomic_t and atomic64_t Finn Thain
2025-09-15  7:13   ` Geert Uytterhoeven
2025-09-15  7:35   ` Arnd Bergmann
2025-09-15  8:06     ` Peter Zijlstra
2025-09-15  9:26     ` Finn Thain
2025-09-15  9:29       ` Arnd Bergmann
2025-09-22  7:06   ` Geert Uytterhoeven
2025-09-22  8:16     ` Finn Thain
2025-09-22  9:29       ` Geert Uytterhoeven
2025-09-22 15:21       ` Arnd Bergmann
2025-09-23  6:28         ` Finn Thain
2025-09-23  6:41           ` Arnd Bergmann
2025-09-23  8:05             ` Finn Thain
2025-09-23 19:11               ` Arnd Bergmann
2025-09-30  2:18           ` Finn Thain
2025-09-30  6:35             ` Arnd Bergmann
2025-10-01  1:03               ` Finn Thain
2025-10-01  6:44                 ` Arnd Bergmann
2025-10-06  9:25                   ` Finn Thain
2025-10-06  9:25               ` Finn Thain
2025-10-06 10:07                 ` Arnd Bergmann
2025-10-06 10:22                   ` Peter Zijlstra
2025-10-06 11:09                     ` Arnd Bergmann
2025-10-06  9:37               ` Peter Zijlstra
2025-09-30  7:41             ` Geert Uytterhoeven
2025-10-01  1:46               ` Finn Thain
2025-10-01  7:08                 ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).