From: Ingo Molnar <mingo@kernel.org>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
will.deacon@arm.com, mark.rutland@arm.com, snitzer@redhat.com,
thor.thayer@linux.intel.com, viro@zeniv.linux.org.uk,
davem@davemloft.net, shuah@kernel.org, mpe@ellerman.id.au,
tj@kernel.org, torvalds@linux-foundation.org
Subject: Re: [PATCH 17/19] locking/barriers: Kill lockless_dereference
Date: Tue, 24 Oct 2017 11:31:04 +0200 [thread overview]
Message-ID: <20171024093104.rukpl26fukj7bxvg@gmail.com> (raw)
In-Reply-To: <1508792849-3115-17-git-send-email-paulmck@linux.vnet.ibm.com>
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> From: Will Deacon <will.deacon@arm.com>
>
> lockless_dereference is a nice idea, but its gained little traction in
> kernel code since it's introduction three years ago. This is partly
s/its/it
s/it's/its
> because it's a pain to type, but also because using READ_ONCE instead
> will work correctly on all architectures apart from Alpha, which is a
> fully supported but somewhat niche architecture these days.
>
> This patch moves smp_read_barrier_depends() (a NOP on all architectures
> other than Alpha) from lockless_dereference into READ_ONCE, converts
> the few actual users over to READ_ONCE and then finally removes
> lockless_dereference altogether.
Nit: if we refer to smp_read_barrier_depends() with parentheses (which is the nice
thing to do for function-alike symbols), then we should do the same with
READ_ONCE() and lockless_dereference() as well.
Also, could we please split this into three patches:
#1: Add smp_read_barrier_depends() to READ_ONCE()
#2: Convert all lockless_dereference() users to READ_ONCE()
#3: Remove the now unused lockless_dereference() API
to make it easier to analyze if bisected to, should any problems arise?
Thanks,
Ingo
next prev parent reply other threads:[~2017-10-24 9:31 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-23 21:04 [GIT PULL de-alpha] Make core code not need to know about Alpha for v4.15 Paul E. McKenney
2017-10-23 21:07 ` [PATCH 01/19] dm integrity: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:15 ` [tip:locking/core] locking/atomics, dm-integrity: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 02/19] EDAC, altera: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:16 ` [tip:locking/core] locking/atomics, EDAC/altera: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 03/19] firmware/ivc: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:16 ` [tip:locking/core] locking/atomics, firmware/ivc: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 04/19] fs: dcache: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:16 ` [tip:locking/core] locking/atomics, fs/dcache: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 05/19] fs: ncpfs: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:17 ` [tip:locking/core] locking/atomics, fs/ncpfs: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 06/19] media: dvb_ringbuffer: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:17 ` [tip:locking/core] locking/atomics, media/dvb_ringbuffer: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 07/19] net: netlink/netfilter: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:18 ` [tip:locking/core] locking/atomics, net/netlink/netfilter: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 08/19] net/ipv4/tcp_input.c: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:18 ` [tip:locking/core] locking/atomics, net/ipv4/tcp_input.c: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 09/19] net: average: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-24 5:58 ` Johannes Berg
2017-10-24 9:34 ` Ingo Molnar
2017-10-24 13:49 ` Paul E. McKenney
2017-10-25 10:18 ` [tip:locking/core] locking/atomics, net/average: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 10/19] samples: mic/mpssd/mpssd.c: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:19 ` [tip:locking/core] locking/atomics, samples/mic/mpssd/mpssd.c: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 11/19] selftests/powerpc: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:19 ` [tip:locking/core] locking/atomics, selftests/powerpc: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 12/19] workqueue: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:20 ` [tip:locking/core] locking/atomics, workqueue: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 13/19] rcutorture: formal: Prepare for ACCESS_ONCE() removal Paul E. McKenney
2017-10-25 10:20 ` [tip:locking/core] locking/atomics, rcutorture/formal: " tip-bot for Mark Rutland
2017-10-23 21:07 ` [PATCH 14/19] doc: filesystems: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:21 ` [tip:locking/core] locking/atomics, doc/filesystems: Convert ACCESS_ONCE() references tip-bot for Paul E. McKenney
2017-10-23 21:07 ` [PATCH 15/19] mm: Kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:21 ` [tip:locking/core] locking/atomics, mm: Convert ACCESS_ONCE() to READ_ONCE()/WRITE_ONCE() tip-bot for Paul E. McKenney
2017-10-23 21:07 ` [PATCH 16/19] linux/compiler.h: Split into compiler.h and compiler-types.h Paul E. McKenney
2017-10-24 9:25 ` Ingo Molnar
2017-10-24 9:30 ` Will Deacon
2017-10-24 9:52 ` Ingo Molnar
2017-10-23 21:07 ` [PATCH 17/19] locking/barriers: Kill lockless_dereference Paul E. McKenney
2017-10-24 9:31 ` Ingo Molnar [this message]
2017-10-24 9:44 ` Will Deacon
2017-10-24 9:54 ` Ingo Molnar
2017-10-24 10:23 ` Will Deacon
2017-10-23 21:07 ` [PATCH 18/19] alpha: atomics: Add smp_read_barrier_depends() to release/relaxed atomics Paul E. McKenney
2017-10-23 21:07 ` [PATCH 19/19] COCCINELLE: treewide: kill off ACCESS_ONCE() Paul E. McKenney
2017-10-25 10:21 ` [tip:locking/core] locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE() tip-bot for Mark Rutland
2017-10-24 9:32 ` [GIT PULL de-alpha] Make core code not need to know about Alpha for v4.15 Ingo Molnar
2017-10-25 8:45 ` Ingo Molnar
2017-10-25 8:54 ` Paul E. McKenney
2017-10-25 9:04 ` Ingo Molnar
2017-10-25 13:18 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171024093104.rukpl26fukj7bxvg@gmail.com \
--to=mingo@kernel.org \
--cc=davem@davemloft.net \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mpe@ellerman.id.au \
--cc=paulmck@linux.vnet.ibm.com \
--cc=shuah@kernel.org \
--cc=snitzer@redhat.com \
--cc=thor.thayer@linux.intel.com \
--cc=tj@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.