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

rcuscale: Warn on individual rcu_scale_init() error conditions



When running rcuscale as a module, any rcu_scale_init() issues will be
reflected in the error code from modprobe or insmod, as the case may be.
However, these error codes are not available when running rcuscale
built-in, for example, when using the kvm.sh script.  This commit
therefore adds WARN_ON_ONCE() to allow distinguishing rcu_scale_init()
errors when running rcuscale built-in.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent ed60ad73
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -758,7 +758,7 @@ kfree_scale_init(void)
		init_waitqueue_head(&shutdown_wq);
		firsterr = torture_create_kthread(kfree_scale_shutdown, NULL,
						  shutdown_task);
		if (firsterr)
		if (torture_init_error(firsterr))
			goto unwind;
		schedule_timeout_uninterruptible(1);
	}
@@ -775,7 +775,7 @@ kfree_scale_init(void)
	for (i = 0; i < kfree_nrealthreads; i++) {
		firsterr = torture_create_kthread(kfree_scale_thread, (void *)i,
						  kfree_reader_tasks[i]);
		if (firsterr)
		if (torture_init_error(firsterr))
			goto unwind;
	}

@@ -838,7 +838,7 @@ rcu_scale_init(void)
		init_waitqueue_head(&shutdown_wq);
		firsterr = torture_create_kthread(rcu_scale_shutdown, NULL,
						  shutdown_task);
		if (firsterr)
		if (torture_init_error(firsterr))
			goto unwind;
		schedule_timeout_uninterruptible(1);
	}
@@ -852,7 +852,7 @@ rcu_scale_init(void)
	for (i = 0; i < nrealreaders; i++) {
		firsterr = torture_create_kthread(rcu_scale_reader, (void *)i,
						  reader_tasks[i]);
		if (firsterr)
		if (torture_init_error(firsterr))
			goto unwind;
	}
	while (atomic_read(&n_rcu_scale_reader_started) < nrealreaders)
@@ -879,7 +879,7 @@ rcu_scale_init(void)
		}
		firsterr = torture_create_kthread(rcu_scale_writer, (void *)i,
						  writer_tasks[i]);
		if (firsterr)
		if (torture_init_error(firsterr))
			goto unwind;
	}
	torture_init_end();