<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/rcu/tree.h, 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-08T01:02:54Z</updated>
<entry>
<title>Merge branches 'doc.2015.12.05a', 'exp.2015.12.07a', 'fixes.2015.12.07a', 'list.2015.12.04b' and 'torture.2015.12.05a' into HEAD</title>
<updated>2015-12-08T01:02:54Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-12-08T01:02:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=648c630c642a4869c7fc30345880675020298852'/>
<id>urn:sha1:648c630c642a4869c7fc30345880675020298852</id>
<content type='text'>
doc.2015.12.05a:  Documentation updates
exp.2015.12.07a:  Expedited grace-period updates
fixes.2015.12.07a:  Miscellaneous fixes
list.2015.12.04b:  Linked-list updates
torture.2015.12.05a:  Torture-test updates
</content>
</entry>
<entry>
<title>rcutorture: Print symbolic name for -&gt;gp_state</title>
<updated>2015-12-06T01:58:26Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-11-17T22:39:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6b50e119c440b7532ed749b635a58b3839f62992'/>
<id>urn:sha1:6b50e119c440b7532ed749b635a58b3839f62992</id>
<content type='text'>
Currently, -&gt;gp_state is printed as an integer, which slows debugging.
This commit therefore prints a symbolic name in addition to the integer.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
[ paulmck: Updated to fix relational operator called out by Dan Carpenter. ]
[ paulmck: More "const", as suggested by Josh Triplett. ]
Reviewed-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
</content>
</entry>
<entry>
<title>rcu: Reduce expedited GP memory contention via per-CPU variables</title>
<updated>2015-12-04T20:26:52Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-01T17:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=df5bd5144a80a9f6c3807383b11f735dae9caf9d'/>
<id>urn:sha1:df5bd5144a80a9f6c3807383b11f735dae9caf9d</id>
<content type='text'>
Currently, the piggybacked-work checks carried out by sync_exp_work_done()
atomically increment a small set of variables (the -&gt;expedited_workdone0,
-&gt;expedited_workdone1, -&gt;expedited_workdone2, -&gt;expedited_workdone3
fields in the rcu_state structure), which will form a memory-contention
bottleneck given a sufficiently large number of CPUs concurrently invoking
either synchronize_rcu_expedited() or synchronize_sched_expedited().

This commit therefore moves these for fields to the per-CPU rcu_data
structure, eliminating the memory contention.  The show_rcuexp() function
also changes to sum up each field in the rcu_data structures.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Clarify role of -&gt;expmaskinitnext</title>
<updated>2015-12-04T20:26:50Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-09-29T16:45:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1de6e56ddc043437d335ee0455a1b34b73510c91'/>
<id>urn:sha1:1de6e56ddc043437d335ee0455a1b34b73510c91</id>
<content type='text'>
Analogy with the -&gt;qsmaskinitnext field might lead one to believe that
-&gt;expmaskinitnext tracks online CPUs.  This belief is incorrect: Any CPU
that has ever been online will have its bit set in the -&gt;expmaskinitnext
field.  This commit therefore adds a comment to make this clear, at
least to people who read comments.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Create transitive rnp-&gt;lock acquisition functions</title>
<updated>2015-11-23T18:37:35Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>peterz@infradead.org</email>
</author>
<published>2015-10-08T10:24:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2a67e741bbbc022e0fadf8c6dbc3a76019ecd0cf'/>
<id>urn:sha1:2a67e741bbbc022e0fadf8c6dbc3a76019ecd0cf</id>
<content type='text'>
Providing RCU's memory-ordering guarantees requires that the rcu_node
tree's locking provide transitive memory ordering, which the Linux kernel's
spinlocks currently do not provide unless smp_mb__after_unlock_lock()
is used.  Having a separate smp_mb__after_unlock_lock() after each and
every lock acquisition is error-prone, hard to read, and a bit annoying,
so this commit provides wrapper functions that pull in the
smp_mb__after_unlock_lock() invocations.

Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Merge branches 'fixes.2015.10.06a' and 'exp.2015.10.07a' into HEAD</title>
<updated>2015-10-07T23:05:21Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-10-07T23:05:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d2856b046d2ce2bfb664727cb8671ad0e371bd6c'/>
<id>urn:sha1:d2856b046d2ce2bfb664727cb8671ad0e371bd6c</id>
<content type='text'>
exp.2015.10.07a:  Reduce OS jitter of RCU-sched expedited grace periods.
fixes.2015.10.06a:  Miscellaneous fixes.
</content>
</entry>
<entry>
<title>rcu: Add online/offline info to expedited stall warning message</title>
<updated>2015-10-07T23:02:50Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-08-18T17:20:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=74611ecb0fc4c850a8f89a744ce99cbf0dd43cb2'/>
<id>urn:sha1:74611ecb0fc4c850a8f89a744ce99cbf0dd43cb2</id>
<content type='text'>
This commit makes the RCU CPU stall warning message print online/offline
indications immediately after the CPU number.  A "O" indicates global
offline, a "." global online, and a "o" indicates RCU believes that the
CPU is offline for the current grace period and "." otherwise, and an
"N" indicates that RCU believes that the CPU will be offline for the
next grace period, and "." otherwise, all right after the CPU number.
So for CPU 10, you would normally see "10-...:" indicating that everything
believes that the CPU is online.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Stop silencing lockdep false positive for expedited grace periods</title>
<updated>2015-10-07T23:02:49Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-08-07T03:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=83c2c735e78da1a0d994911f730f6e1d36c88d7a'/>
<id>urn:sha1:83c2c735e78da1a0d994911f730f6e1d36c88d7a</id>
<content type='text'>
This reverts commit af859beaaba4 (rcu: Silence lockdep false positive
for expedited grace periods).  Because synchronize_rcu_expedited()
no longer invokes synchronize_sched_expedited(), -&gt;exp_funnel_mutex
acquisition is no longer nested, so the false positive no longer happens.
This commit therefore removes the extra lockdep data structures, as they
are no longer needed.
</content>
</entry>
<entry>
<title>rcu: Switch synchronize_sched_expedited() to IPI</title>
<updated>2015-10-07T23:01:12Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-08-06T23:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6587a23b6b9bdb47205ec96c703e5bf8a2d39701'/>
<id>urn:sha1:6587a23b6b9bdb47205ec96c703e5bf8a2d39701</id>
<content type='text'>
This commit switches synchronize_sched_expedited() from stop_one_cpu_nowait()
to smp_call_function_single(), thus moving from an IPI and a pair of
context switches to an IPI and a single pass through the scheduler.
Of course, if the scheduler actually does decide to switch to a different
task, there will still be a pair of context switches, but there would
likely have been a pair of context switches anyway, just a bit later.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Correct comment for values of -&gt;gp_state field</title>
<updated>2015-10-06T18:16:11Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@linux.vnet.ibm.com</email>
</author>
<published>2015-09-10T18:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c34d2f418485a5d710bc002e490148b8ea53f456'/>
<id>urn:sha1:c34d2f418485a5d710bc002e490148b8ea53f456</id>
<content type='text'>
This commit corrects the comment for the values of the -&gt;gp_state field,
which previously incorrectly said that these were for the -&gt;gp_flags
field.

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>
