Talk:Read-copy-update

Problems with this page
I just scanned this article several times looking for the spot where RCU is actually explained, and I keep missing it. The first part of the Overview section looks promising, but ultimately dances around the point it's trying to make.

"The rcu_assign_pointer primitive is used to carry out this assignment, and ensures that the assignment is atomic in the sense that concurrent readers will either see a NULL pointer or a valid pointer to the new structure, but not some mash-up of the two values."

This is explaining very little; it simply introduces a magic primitive. Even more confusing is that one of the references asserts that no reader-side synchronization is needed, while the Overview section specifies the need for rcu_read_lock and a corresponding unlock operation. After giving this all-too-high level overview, we plunge into the depths of Linux kernel code.

Another problem with the page is the use of peacock terms such as "excellent performance, scalability, and real-time response". Q VVERTYVS (hm?) 13:37, 17 November 2015 (UTC)

Hmmmm... An alternative to the "peacock terms" would be something like this:  "In the most aggressive implementations, which are actually used in practice in production, RCU readers can use the exact same sequence of machine instructions that would be used in a single-threaded environment." Would that be better, or would that still considered to be peacockery? PaulMcKenney (talk) 19:18, 27 June 2016 (UTC)


 * This paper gives a much more precise overview than this wiki page. It's a bit dense, but it sets out the conditions and mechanism in/by which RCU works. Q VVERTYVS (hm?) 13:55, 17 November 2015 (UTC)

I certainly have no objection to the description in that paper. That paper's supplementary materials might also be of interest.

Given that there is a quite a bit more RCU-related material available than ten years ago, and given that you have formally registered your discomfort with my editing this page, I will leave this to you. I do expect to check up on it from time to time, of course. PaulMcKenney (talk) 19:18, 27 June 2016 (UTC)

External links modified
Hello fellow Wikipedians,

I have just added archive links to 2 one external links on Read-copy-update. Please take a moment to review my edit. If necessary, add after the link to keep me from modifying it. Alternatively, you can add to keep me off the page altogether. I made the following changes:
 * Added archive http://web.archive.org/web/20160105153047/http://www.eecg.toronto.edu/~tornado to http://www.eecg.toronto.edu/~tornado
 * Added archive http://web.archive.org/web/20061010230626/http://www.eecg.toronto.edu:80/~tornado/ to http://www.eecg.toronto.edu/~tornado/

When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at Sourcecheck).

Cheers.—cyberbot II  Talk to my owner :Online 05:07, 28 February 2016 (UTC)

Introduction modified
Removed jargon and peacockry. Described abstractly what rcu is, where its used, and how it functions. SecularJohannes (talk) 03:43, 14 March 2017 (UTC)