From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: c++std-parallel@accu.org
Cc: linux-kernel@vger.kernel.org, triegel@redhat.com,
jeff@preshing.com, boehm@acm.org, clark.nelson@intel.com,
OGiroux@nvidia.com, Lawrence@Crowl.org, dhowells@redhat.com,
joseph@codesourcery.com, torvalds@linux-foundation.org,
Mark.Batty@cl.cam.ac.uk, Peter.Sewell@cl.cam.ac.uk,
peterz@infradead.org, will.deacon@arm.com,
behanw@converseincode.com, jfb@google.com, Jens.Maurer@gmx.net,
michaelw@ca.ibm.com
Subject: Proposal for new memory_order_consume definition
Date: Mon, 11 Jan 2016 15:11:42 -0800 [thread overview]
Message-ID: <20160111231142.GA17911@linux.vnet.ibm.com> (raw)
Hello!
As requested at the October 2015 C++ Standards Committee Meeting, I have
created a single proposal for memory_order_consume in C++:
http://www2.rdrop.com/users/paulmck/submission/consume.2016.01.11b.pdf
This contains an informal description of the proposal, rough-draft
wording changes, and a number of litmus tests demonstrating how the
proposal works.
The required changes to compilers appears to be extremely small,
however, I would like to get more compiler writers' thoughts on the
pointer_cmp_eq_dep(), pointer_cmp_ne_dep(), pointer_cmp_gt_dep(),
pointer_cmp_ge_dep(), pointer_cmp_lt_dep(), and pointer_cmp_le_dep()
intrinsics that do pointer comparisons without breaking dependencies on
their first argument. Figures 25 and 26 on page 16 demonstrate their use.
These intrinsics were suggested at the October meeting, but it would be
good to get wider feedback on them.
Note that last I checked, the Linux kernel actually does not depend
on pointer comparisons not breaking dependency chains, because all
comparisons are against NULL or a list-head structure, in which case
the pointer is not going to be dereferenced after an equals comparison.
But I do believe that some past versions of the Linux kernel have depended
on this.
Thoughts?
Thanx, Paul
PS. For more background information, please see:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0098r0.pdf
next reply other threads:[~2016-01-11 23:11 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-11 23:11 Paul E. McKenney [this message]
2016-01-19 22:25 ` Proposal for new memory_order_consume definition Paul E. McKenney
-- strict thread matches above, loose matches on Subject: below --
2016-02-18 1:10 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=20160111231142.GA17911@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=Jens.Maurer@gmx.net \
--cc=Lawrence@Crowl.org \
--cc=Mark.Batty@cl.cam.ac.uk \
--cc=OGiroux@nvidia.com \
--cc=Peter.Sewell@cl.cam.ac.uk \
--cc=behanw@converseincode.com \
--cc=boehm@acm.org \
--cc=c++std-parallel@accu.org \
--cc=clark.nelson@intel.com \
--cc=dhowells@redhat.com \
--cc=jeff@preshing.com \
--cc=jfb@google.com \
--cc=joseph@codesourcery.com \
--cc=linux-kernel@vger.kernel.org \
--cc=michaelw@ca.ibm.com \
--cc=peterz@infradead.org \
--cc=torvalds@linux-foundation.org \
--cc=triegel@redhat.com \
--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 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).