Commit ab6ad3db authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

Merge branches 'bitmaprange.2021.03.08a', 'fixes.2021.03.15a',...

Merge branches 'bitmaprange.2021.03.08a', 'fixes.2021.03.15a', 'kvfree_rcu.2021.03.08a', 'mmdumpobj.2021.03.08a', 'nocb.2021.03.15a', 'poll.2021.03.24a', 'rt.2021.03.08a', 'tasks.2021.03.08a', 'torture.2021.03.08a' and 'torturescript.2021.03.22a' into HEAD

bitmaprange.2021.03.08a:  Allow 3-N for bitmap ranges.
fixes.2021.03.15a:  Miscellaneous fixes.
kvfree_rcu.2021.03.08a:  kvfree_rcu() updates.
mmdumpobj.2021.03.08a:  mem_dump_obj() updates.
nocb.2021.03.15a:  RCU NOCB CPU updates, including limited deoffloading.
poll.2021.03.24a:  Polling grace-period interfaces for RCU.
rt.2021.03.08a:  Realtime-related RCU changes.
tasks.2021.03.08a:  Tasks-RCU updates.
torture.2021.03.08a:  Torture-test updates.
torturescript.2021.03.22a:  Torture-test scripting updates.
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.
}
}

+12 −0
Original line number Diff line number Diff line
@@ -4257,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
@@ -3135,7 +3135,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
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@ static inline void hlist_nulls_add_fake(struct hlist_nulls_node *n)
 *
 * The barrier() is needed to make sure compiler doesn't cache first element [1],
 * as this loop can be restarted [2]
 * [1] Documentation/core-api/atomic_ops.rst around line 114
 * [1] Documentation/memory-barriers.txt around line 1533
 * [2] Documentation/RCU/rculist_nulls.rst around line 146
 */
#define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member)			\
Loading