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

rcutorture: Move to dynamic initialization of rcu_fwds



In order to add multiple call_rcu() forward-progress kthreads, it will
be necessary to dynamically allocate and initialize.  This commit
therefore moves the initialization from compile time to instead
immediately precede thread-creation time.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 6b1b8325
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -1686,11 +1686,7 @@ struct rcu_fwd {
	unsigned long rcu_launder_gp_seq_start;
};

struct rcu_fwd rcu_fwds = {
	.rcu_fwd_lock = __SPIN_LOCK_UNLOCKED(rcu_fwds.rcu_fwd_lock),
	.rcu_fwd_cb_tail = &rcu_fwds.rcu_fwd_cb_head,
};

struct rcu_fwd rcu_fwds;
bool rcu_fwd_emergency_stop;

static void rcu_torture_fwd_cb_hist(struct rcu_fwd *rfp)
@@ -2026,6 +2022,8 @@ static int __init rcu_torture_fwd_prog_init(void)
		WARN_ON(1); /* Make sure rcutorture notices conflict. */
		return 0;
	}
	spin_lock_init(&rcu_fwds.rcu_fwd_lock);
	rcu_fwds.rcu_fwd_cb_tail = &rcu_fwds.rcu_fwd_cb_head;
	if (fwd_progress_holdoff <= 0)
		fwd_progress_holdoff = 1;
	if (fwd_progress_div <= 0)