<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/kernel/rcu/rcuperf.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-12-11T17:18:29Z</updated>
<entry>
<title>torture: Eliminate torture_runnable and perf_runnable</title>
<updated>2017-12-11T17:18:29Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-11-22T04:19:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a2f2577d96ad060b65eb909dd39b57d676754119'/>
<id>urn:sha1:a2f2577d96ad060b65eb909dd39b57d676754119</id>
<content type='text'>
The purpose of torture_runnable is to allow rcutorture and locktorture
to be started and stopped via sysfs when they are built into the kernel
(as in not compiled as loadable modules).  However, the 0444 permissions
for both instances of torture_runnable prevent this use case from ever
being put into practice.  Given that there have been no complaints
about this deficiency, it is reasonable to conclude that no one actually
makes use of this sysfs capability.  The perf_runnable module parameter
for rcuperf is in the same situation.

This commit therefore removes both torture_runnable instances as well
as perf_runnable.

Reported-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Remove CONFIG_TASKS_RCU ifdef from rcuperf.c</title>
<updated>2017-07-24T23:04:09Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-05-25T15:23:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1dbc54b929c5917c57b6661c9e37e42868b26a4'/>
<id>urn:sha1:f1dbc54b929c5917c57b6661c9e37e42868b26a4</id>
<content type='text'>
The synchronize_rcu_tasks() and call_rcu_tasks() APIs are now available
regardless of kernel configuration, so this commit removes the
CONFIG_TASKS_RCU ifdef from rcuperf.c.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcu: Move expediting-related access/control out of rcupdate.h</title>
<updated>2017-06-09T01:52:28Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-05-03T16:51:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25c36329a30c8cac090effe1fbae9bb916fa95fe'/>
<id>urn:sha1:25c36329a30c8cac090effe1fbae9bb916fa95fe</id>
<content type='text'>
The rcu_gp_is_normal(), rcu_gp_is_expedited(), rcu_expedite_gp(), and
rcu_unexpedite_gp() functions are intended only for use within the
RCU implementation itself -- the sysfs access is what should be used
outside of RCU.  This commit therefore moves the declarations for
these functions to kernel/rcu/rcu.h, and also includes this file into
kernel/rcu/rcutorture.c and kernel/rcu/rcuperf.c.  This also has the
beneficial effect of shrinking rcupdate.c a bit.

Reported-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcuperf: Add writer_holdoff boot parameter</title>
<updated>2017-06-08T15:25:32Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-04-25T22:12:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=820687a7b98a5031207893ff265f97c0a0ad403e'/>
<id>urn:sha1:820687a7b98a5031207893ff265f97c0a0ad403e</id>
<content type='text'>
This commit adds a writer_holdoff boot parameter to rcuperf, which is
intended to be used to test Tree SRCU's auto-expediting.  This
boot parameter is in microseconds, and defaults to zero (that is,
disabled).  Set it to a bit larger than srcutree.exp_holdoff,
keeping the nanosecond/microsecond conversion, to force Tree SRCU
to auto-expedite more aggressively.

This commit also adds documentation for this parameter, and fixes some
alphabetization while in the neighborhood.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcuperf: Set more user-friendly defaults</title>
<updated>2017-06-08T15:25:31Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-04-21T23:09:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=492b95e59735998312f678d77a2d5fe20af6b0b9'/>
<id>urn:sha1:492b95e59735998312f678d77a2d5fe20af6b0b9</id>
<content type='text'>
Common-case use of rcuperf must set rcuperf.nreaders=0 and if not built
as a module, rcuperf.shutdown.  This commit therefore sets the default
for rcuperf.nreaders to zero and sets the default for rcuperf.shutdown
to zero if rcuperf is built as a module and to one otherwise.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcuperf: Add test for dynamically initialized srcu_struct</title>
<updated>2017-06-08T15:25:28Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-04-19T20:43:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f60cb4d4c8e568c2d63d01d72e589c4f75ee4140'/>
<id>urn:sha1:f60cb4d4c8e568c2d63d01d72e589c4f75ee4140</id>
<content type='text'>
This commit adds a perf_type of "srcud", which species that rcuperf
test SRCU on a dynamically initialized srcu_struct.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>rcuperf: Add ability to performance-test call_rcu() and friends</title>
<updated>2017-06-08T15:25:26Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-04-17T19:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=881ed593a323c832c2e9383effeb6a0c99859210'/>
<id>urn:sha1:881ed593a323c832c2e9383effeb6a0c99859210</id>
<content type='text'>
This commit upgrades rcuperf so that it can do performance testing on
asynchronous grace-period primitives such as call_srcu().  There is
a new rcuperf.gp_async module parameter that specifies this new behavior,
with the pre-existing rcuperf.gp_exp testing expedited grace periods such as
synchronize_rcu_expedited, and with the default being to test synchronous
non-expedited grace periods such as synchronize_rcu().

There is also a new rcuperf.gp_async_max module parameter that specifies
the maximum number of outstanding callbacks per writer kthread, defaulting
to 1,000.  When this limit is exceeded, the writer thread invokes the
appropriate flavor of rcu_barrier() to wait for callbacks to drain.

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
[ paulmck: Removed the redundant initialization noted by Arnd Bergmann. ]
</content>
</entry>
<entry>
<title>rcuperf: Defer expedited/normal check to end of test</title>
<updated>2017-06-08T15:25:24Z</updated>
<author>
<name>Paul E. McKenney</name>
</author>
<published>2017-04-14T23:12:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9683937df9ebf4eb62cdedb09c5f20a0760c7d80'/>
<id>urn:sha1:9683937df9ebf4eb62cdedb09c5f20a0760c7d80</id>
<content type='text'>
Current rcuperf startup checks to see if the user asked to measure
only expedited grace periods, yet constrained all grace periods to be
normal, or if the user asked to measure only normal grace periods, yet
constrained all grace periods to be expedited.  Useless tests of this
sort are aborted.

Unfortunately, making RCU work through the mid-boot dead zone [1] puts
RCU into expedited-only mode during that zone.  Which happens to also
be the exact time that rcuperf carries out the aforementioned check.
So if the user asks rcuperf to measure only normal grace periods (the
default), rcuperf will now always complain and terminate the test.

This commit therefore moves the checks to rcu_perf_cleanup().  This has
the disadvantage of failing to abort useless tests, but avoids the need to
create yet another kthread and the need to do fiddly checks involving the
holdoff time.  (Yes, another approach is to do the checks in a late-stage
init function, but that would require some way to communicate badness
to rcuperf's kthreads, and seems not worth the bother.)

[1] https://lwn.net/Articles/716148/

Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>sched/headers: Prepare for new header dependencies before moving code to &lt;uapi/linux/sched/types.h&gt;</title>
<updated>2017-03-02T07:42:27Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2017-02-01T17:07:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae7e81c077d60507dcec139e40a6d10cf932cf4b'/>
<id>urn:sha1:ae7e81c077d60507dcec139e40a6d10cf932cf4b</id>
<content type='text'>
We are going to move scheduler ABI details to &lt;uapi/linux/sched/types.h&gt;,
which will be used from a number of .c files.

Create empty placeholder header that maps to &lt;linux/types.h&gt;.

Include the new header in the files that are going to need it.

Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>rcuperf: Consistently insert space between flag and message</title>
<updated>2016-08-22T17:06:16Z</updated>
<author>
<name>SeongJae Park</name>
</author>
<published>2016-08-21T07:54:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a56fefa2605cf8e125ef09451487f30336128028'/>
<id>urn:sha1:a56fefa2605cf8e125ef09451487f30336128028</id>
<content type='text'>
A few rcuperf dmesg output messages have no space between the flag and
the start of the message. In contrast, every other messages consistently
supplies a single space.  This difference makes rcuperf dmesg output
hard to read and to mechanically parse.  This commit therefore fixes
this problem by modifying a pr_alert() call and PERFOUT_STRING() macro
function to provide that single space.

Signed-off-by: SeongJae Park &lt;sj38.park@gmail.com&gt;
Signed-off-by: Paul E. McKenney &lt;paulmck@linux.vnet.ibm.com&gt;
</content>
</entry>
</feed>
