linux-alpha.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Remove lockless_dereference
@ 2017-10-12 14:26 Will Deacon
  2017-10-12 14:26 ` [PATCH 1/3] linux/compiler.h: Split into compiler.h and compiler-types.h Will Deacon
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Will Deacon @ 2017-10-12 14:26 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, mcree, peterz, rth, ink, mattst88, linux-alpha,
	Will Deacon

Hi all,

These patches remove lockless_dereference from the kernel. It's only used
in a handful of places relative to READ_ONCE and ACCESS_ONCE and is only
required for correctness on Alpha. Consequently, READ_ONCE is strengthened
on Alpha systems to include the smp_read_barrier_depends implicitly and
Alpha's release and release atomic_t and atomic64_t operations are also
upgraded.

The nastiest part about all of this was actually fixing the circular
includes of compiler.h, which is an existing problem that doesn't crop
up in practice because lockless_dereference is rarely used.

Thanks,

Will

--->8

Will Deacon (3):
  linux/compiler.h: Split into compiler.h and compiler-types.h
  locking/barriers: Kill lockless_dereference
  alpha: atomics: Add smp_read_barrier_depends() to release/relaxed
    atomics

 Documentation/memory-barriers.txt                  |  12 -
 .../translations/ko_KR/memory-barriers.txt         |  12 -
 arch/alpha/include/asm/atomic.h                    |  13 +
 arch/arm/include/asm/ptrace.h                      |   3 +-
 arch/x86/events/core.c                             |   2 +-
 arch/x86/include/asm/mmu_context.h                 |   4 +-
 arch/x86/kernel/ldt.c                              |   2 +-
 drivers/md/dm-mpath.c                              |  20 +-
 fs/dcache.c                                        |   4 +-
 fs/overlayfs/ovl_entry.h                           |   2 +-
 fs/overlayfs/readdir.c                             |   2 +-
 include/linux/compiler-clang.h                     |   2 +-
 include/linux/compiler-gcc.h                       |   2 +-
 include/linux/compiler-intel.h                     |   2 +-
 include/linux/compiler-types.h                     | 274 ++++++++++++++++++++
 include/linux/compiler.h                           | 286 +--------------------
 include/linux/linkage.h                            |   2 +-
 include/linux/rculist.h                            |   4 +-
 include/linux/rcupdate.h                           |   4 +-
 include/uapi/linux/stddef.h                        |   2 +-
 kernel/events/core.c                               |   4 +-
 kernel/seccomp.c                                   |   2 +-
 kernel/task_work.c                                 |   2 +-
 mm/slab.h                                          |   2 +-
 scripts/headers_install.sh                         |   2 +-
 25 files changed, 325 insertions(+), 341 deletions(-)
 create mode 100644 include/linux/compiler-types.h

-- 
2.1.4


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

end of thread, other threads:[~2017-10-12 15:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-12 14:26 [PATCH 0/3] Remove lockless_dereference Will Deacon
2017-10-12 14:26 ` [PATCH 1/3] linux/compiler.h: Split into compiler.h and compiler-types.h Will Deacon
2017-10-12 14:26 ` [PATCH 2/3] locking/barriers: Kill lockless_dereference Will Deacon
2017-10-12 15:16   ` Paul E. McKenney
2017-10-12 14:26 ` [PATCH 3/3] alpha: atomics: Add smp_read_barrier_depends() to release/relaxed atomics Will Deacon
2017-10-12 15:17   ` Paul E. McKenney

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).