Commit 120b566d authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'for-mingo-rcu' of...

Merge branch 'for-mingo-rcu' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu

 into core/rcu

Pull RCU changes from Paul E. McKenney:

 - Bitmap support for "N" as alias for last bit

 - kvfree_rcu updates

 - mm_dump_obj() updates.  (One of these is to mm, but was suggested by Andrew Morton.)

 - RCU callback offloading update

 - Polling RCU grace-period interfaces

 - Realtime-related RCU updates

 - Tasks-RCU updates

 - Torture-test updates

 - Torture-test scripting updates

 - Miscellaneous fixes

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents e49d033b ab6ad3db
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -847,7 +847,7 @@ Symposium on Distributed Computing}
	'It's entirely possible that the current user could be replaced
	by RCU and/or seqlocks, and we could get rid of brlocks entirely.'
	.
	Steve Hemminger responds by replacing them with RCU.
	Stephen Hemminger responds by replacing them with RCU.
}
}

+7 −0
Original line number Diff line number Diff line
@@ -68,6 +68,13 @@ For example one can add to the command line following parameter:

where the final item represents CPUs 100,101,125,126,150,151,...

The value "N" can be used to represent the numerically last CPU on the system,
i.e "foo_cpus=16-N" would be equivalent to "16-31" on a 32 core system.

Keep in mind that "N" is dynamic, so if system changes cause the bitmap width
to change, such as less cores in the CPU list, then N and any ranges using N
will also change.  Use the same on a small 4 core system, and "16-N" becomes
"16-3" and now the same boot input will be flagged as invalid (start > end).


This document may not be entirely up to date and comprehensive. The command
+13 −3
Original line number Diff line number Diff line
@@ -4068,9 +4068,7 @@
				see CONFIG_RAS_CEC help text.

	rcu_nocbs=	[KNL]
			The argument is a cpu list, as described above,
			except that the string "all" can be used to
			specify every CPU on the system.
			The argument is a cpu list, as described above.

			In kernels built with CONFIG_RCU_NOCB_CPU=y, set
			the specified list of CPUs to be no-callback CPUs.
@@ -4259,6 +4257,18 @@
	rcuscale.kfree_rcu_test= [KNL]
			Set to measure performance of kfree_rcu() flooding.

	rcuscale.kfree_rcu_test_double= [KNL]
			Test the double-argument variant of kfree_rcu().
			If this parameter has the same value as
			rcuscale.kfree_rcu_test_single, both the single-
			and double-argument variants are tested.

	rcuscale.kfree_rcu_test_single= [KNL]
			Test the single-argument variant of kfree_rcu().
			If this parameter has the same value as
			rcuscale.kfree_rcu_test_double, both the single-
			and double-argument variants are tested.

	rcuscale.kfree_nthreads= [KNL]
			The number of threads running loops of kfree_rcu().

+4 −0
Original line number Diff line number Diff line
@@ -3168,7 +3168,11 @@ unsigned long wp_shared_mapping_range(struct address_space *mapping,

extern int sysctl_nr_trim_pages;

#ifdef CONFIG_PRINTK
void mem_dump_obj(void *object);
#else
static inline void mem_dump_obj(void *object) {}
#endif

#endif /* __KERNEL__ */
#endif /* _LINUX_MM_H */
+4 −3
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ struct rcu_cblist {
 *  |                           SEGCBLIST_KTHREAD_GP                           |
 *  |                                                                          |
 *  |   Kthreads handle callbacks holding nocb_lock, local rcu_core() stops    |
 *  |   handling callbacks.                                                    |
 *  |   handling callbacks. Enable bypass queueing.                            |
 *  ----------------------------------------------------------------------------
 */

@@ -125,7 +125,7 @@ struct rcu_cblist {
 *  |                           SEGCBLIST_KTHREAD_GP                           |
 *  |                                                                          |
 *  |   CB/GP kthreads handle callbacks holding nocb_lock, local rcu_core()    |
 *  |   ignores callbacks.                                                     |
 *  |   ignores callbacks. Bypass enqueue is enabled.                          |
 *  ----------------------------------------------------------------------------
 *                                      |
 *                                      v
@@ -134,7 +134,8 @@ struct rcu_cblist {
 *  |                           SEGCBLIST_KTHREAD_GP                           |
 *  |                                                                          |
 *  |   CB/GP kthreads and local rcu_core() handle callbacks concurrently      |
 *  |   holding nocb_lock. Wake up CB and GP kthreads if necessary.            |
 *  |   holding nocb_lock. Wake up CB and GP kthreads if necessary. Disable    |
 *  |   bypass enqueue.                                                        |
 *  ----------------------------------------------------------------------------
 *                                      |
 *                                      v
Loading