<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/Documentation/RCU, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-12-05T20:34:32Z</updated>
<entry>
<title>documentation: Update RCU requirements based on expedited changes</title>
<updated>2015-12-05T20:34:32Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-11-07T07:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c64c4b0f9a183e4c73abff848378afa6edf796c5'/>
<id>urn:sha1:c64c4b0f9a183e4c73abff848378afa6edf796c5</id>
<content type='text'>
Because RCU-sched expedited grace periods now use IPIs and interact
with rcu_read_unlock(), it is no longer sufficient to disable preemption
across RCU read-side critical sections that acquire and hold scheduler
locks.  It is now necessary to instead disable interrupts.  This commit
documents this change.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>documentation: Clarify RCU memory barriers and requirements</title>
<updated>2015-12-05T20:33:37Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-12T15:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4b689330b1a5858e88831b3752e9a6692a5c7bdb'/>
<id>urn:sha1:4b689330b1a5858e88831b3752e9a6692a5c7bdb</id>
<content type='text'>
The RCU requirements do not make it absolutely clear that the
memory-barrier requirements are not intended to replace the fundamental
requirement that all pre-existing RCU readers complete before a grace
period completes.  This commit therefore pulls the memory-barrier
requirements into a separate section and explicitly calls out the
relationship between the memory-barrier requirements and the fundamental
requirement.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>documentation: Expand on scheduler/RCU deadlock requirements</title>
<updated>2015-12-05T20:33:26Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T22:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a4b575627e8d1a2498a921940813266d4e26ff56'/>
<id>urn:sha1:a4b575627e8d1a2498a921940813266d4e26ff56</id>
<content type='text'>
This commit adds a second option for avoiding scheduler/RCU deadlocks,
namely that preemption be disabled across the entire RCU read-side
critical section in question.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>documentation: Composability analogies</title>
<updated>2015-12-05T20:33:11Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T22:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1'/>
<id>urn:sha1:0825458b1dbc39ec6840ee2e45b1fedb1b4b4ca1</id>
<content type='text'>
This commit expands on RCU's composability by comparing it to that of
transactional memory and of locking.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>documentation: Cover requirements controlling stall warnings</title>
<updated>2015-12-05T20:32:19Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T22:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=01d3ad3834891f19a2620a105415feac93296eeb'/>
<id>urn:sha1:01d3ad3834891f19a2620a105415feac93296eeb</id>
<content type='text'>
This commit adds verbiage on boot and sysfs parameters that can be
used to control RCU CPU stall warnings, both to change the timeout
and to suppress these warnings entirely.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Documentation: Record bottom-bit-zero guarantee for -&gt;next</title>
<updated>2015-12-05T20:31:47Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T22:06:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=701e80312fd10270f9c44371e5a229d37a9ae172'/>
<id>urn:sha1:701e80312fd10270f9c44371e5a229d37a9ae172</id>
<content type='text'>
This commit records RCU's guarantee that the bottom bit of the rcu_head
structure's -&gt;next field will remain zero for callbacks posted via
call_rcu(), but not necessarily for &lt;tt&gt;kfree_rcu()&lt;/tt&gt; or some
possible future call_rcu_lazy() variant that might one day be created
for energy-efficiency purposese.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
[ paulmck: Updates URLs as suggested by Josh Triplett. ]
</content>
</entry>
<entry>
<title>documentation: Record RCU requirements</title>
<updated>2015-12-05T20:19:07Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T20:32:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=649e4368ff786e3d02eb2a06b1493fb217d74408'/>
<id>urn:sha1:649e4368ff786e3d02eb2a06b1493fb217d74408</id>
<content type='text'>
This commit adds RCU requirements as published in a 2015 LWN series.
Bringing these requirements in-tree allows them to be updated as changes
are discovered.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
[ paulmck: Updates to charset and URLs as suggested by Josh Triplett. ]
</content>
</entry>
<entry>
<title>Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD</title>
<updated>2015-10-07T23:06:25Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T23:06:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=39cd2dd39a8b92ce91c4dad95f6e979c946a3942'/>
<id>urn:sha1:39cd2dd39a8b92ce91c4dad95f6e979c946a3942</id>
<content type='text'>
doc.2015.10.06a:  Documentation updates.
percpu-rwsem.2015.10.06a:  Optimization of per-CPU reader-writer semaphores.
torture.2015.10.06a:  Torture-test updates.
</content>
</entry>
<entry>
<title>documentation: Catch up list of torture_type options</title>
<updated>2015-10-06T18:22:48Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-08-24T18:46:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b672adf8cfb822781ab904343e5de0297ee117ed'/>
<id>urn:sha1:b672adf8cfb822781ab904343e5de0297ee117ed</id>
<content type='text'>
This commit rids the documentation of long-obsolete torture_type options
such as rcu_sync and adds new ones such as tasks.  Also add verbiage
noting the fact that rcutorture now concurrently tests the asynchrounous,
synchronous, expedited synchronous, and polling grace-period primitives.

Reported-by: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Acked-by: David Miller &lt;davem@davemloft.net&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
</content>
</entry>
<entry>
<title>documentation: Correct doc to use rcu_dereference_protected</title>
<updated>2015-10-06T18:22:43Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2015-08-11T12:26:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2c4ac34bc2d97f056ed3c43fa03c0737fae46fb6'/>
<id>urn:sha1:2c4ac34bc2d97f056ed3c43fa03c0737fae46fb6</id>
<content type='text'>
As there is lots of misinformation and outdated information on the
Internet about nearly all topics related to the kernel, I thought it
would be best if I based my RCU code on the guidelines of the examples
in the Documentation/ tree of the latest kernel. One thing that stuck
out when reading the whatisRCU.txt document was, "interesting how we
don't need any function to dereference rcu protected pointers when doing
updates if a lock is held. I wonder how static analyzers will work with
that." Then, a few weeks later, upon discovering sparse's __rcu support,
I ran it over my code, and lo and behold, things weren't done right.
Examining other RCU usages in the kernel reveal consistent usage of
rcu_dereference_protected, passing in lockdep_is_held as the
conditional. So, this patch adds that idiom to the documentation, so
that others ahead of me won't endure the same exercise.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
</content>
</entry>
</feed>
