N4036: Towards Implementation and Use of memory order consume -- McKenney, Riegel, Preshing, et al.

A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4036

Date: 2014-05-22

Towards Implementation and Use of memory order consume

by Paul E. McKenney, Torvald Riegel, Je ff Preshing, et al.


Despite the growing number of memory_order_consume use cases, there are no known high-performance implementations of memory_order_consume loads in any C11 or C++11 environments. This situation suggests that some change is in order: After all, if the standard does not support this use case, the corresponding users can be expected to continue to exploit whatever implementation-specifi c facilities provide the required functionality. This document therefore provides a brief overview of RCU in Section 2 and surveys memory_order_consume use cases within the Linux kernel in Section 3. Section 4 looks at how dependency ordering is currently supported in pre-C11 implementations, and then Section 5 looks at possible ways to support those use cases in existing C11 and C++11 implementations, followed by some thoughts on incremental paths towards official support of these use cases in the standards. Section 6 lists some weaknesses in the current C11 and C++11 speci cation of dependency ordering, and finally Section 7 outlines a few possible alternative dependency-ordering speci fications.

Note: SC22/WG14 liaison issue.

Add a Comment

Comments are closed.

Comments (0)

There are currently no comments on this entry.