Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

rcutorture: Remove RCU dependencies from ver_functions.sh API



The current set of functions in ver_functions.sh have APIs that are
specific to RCU.  This commit therefore makes an RCU-independent function
that outputs version-specific boot arguments.  This has the benefit that
a test-type-independent call in kvm-test-1-rcu.sh can now handle any type
of test, given a test-type-specific set of files in a configs directory.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
parent d2ebf7ee
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -148,12 +148,8 @@ qemu_append="`identify_qemu_append "$QEMU"`"

# Pull in Kconfig-fragment boot parameters
boot_args="`configfrag_boot_params "$boot_args" "$config_template"`"
# Generate CPU-hotplug boot parameters
boot_args="`rcutorture_param_onoff "$boot_args" $builddir/.config`"
# Generate rcu_barrier() boot parameter
boot_args="`rcutorture_param_n_barrier_cbs "$boot_args"`"
# Pull in standard rcutorture boot arguments
boot_args="$boot_args rcutorture.stat_interval=15 rcutorture.shutdown_secs=$seconds rcutorture.rcutorture_runnable=1 rcutorture.test_no_idle_hz=1 rcutorture.verbose=1"
# Generate kernel-version-specific boot parameters
boot_args="`per_version_boot_params "$boot_args" $builddir/.config $seconds`"

echo $QEMU $qemu_args -m 512 -kernel $builddir/arch/x86/boot/bzImage -append \"$qemu_append $boot_args\" > $resdir/qemu-cmd
if test -n "$RCU_BUILDONLY"
+10 −12
Original line number Diff line number Diff line
@@ -20,16 +20,14 @@
#
# Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

# rcutorture_param_n_barrier_cbs bootparam-string
#
# Adds n_barrier_cbs rcutorture module parameter to kernels having it.
rcutorture_param_n_barrier_cbs () {
	echo $1
}

# rcutorture_param_onoff bootparam-string config-file
#
# Adds onoff rcutorture module parameters to kernels having it.
rcutorture_param_onoff () {
	echo $1
# per_version_boot_params bootparam-string config-file seconds
#
# Adds per-version torture-module parameters to kernels supporting them.
# Which old kernels do not.
per_version_boot_params () {
	echo	rcutorture.stat_interval=15 \
		rcutorture.shutdown_secs=$3 \
		rcutorture.rcutorture_runnable=1 \
		rcutorture.test_no_idle_hz=1 \
		rcutorture.verbose=1
}
+14 −11
Original line number Diff line number Diff line
@@ -20,22 +20,25 @@
#
# Authors: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

# rcutorture_param_n_barrier_cbs bootparam-string
#
# Adds n_barrier_cbs rcutorture module parameter to kernels having it.
rcutorture_param_n_barrier_cbs () {
	echo $1
}

# rcutorture_param_onoff bootparam-string config-file
#
# Adds onoff rcutorture module parameters to kernels having it.
rcutorture_param_onoff () {
	if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2"
	then
		echo CPU-hotplug kernel, adding rcutorture onoff.
		echo $1 rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	else
		echo $1
		echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2
		echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	fi
}

# per_version_boot_params bootparam-string config-file seconds
#
# Adds per-version torture-module parameters to kernels supporting them.
per_version_boot_params () {
	echo $1 `rcutorture_param_onoff "$1" "$2"` \
		rcutorture.stat_interval=15 \
		rcutorture.shutdown_secs=$3 \
		rcutorture.rcutorture_runnable=1 \
		rcutorture.test_no_idle_hz=1 \
		rcutorture.verbose=1
}
+17 −6
Original line number Diff line number Diff line
@@ -26,9 +26,9 @@
rcutorture_param_n_barrier_cbs () {
	if echo $1 | grep -q "rcutorture\.n_barrier_cbs"
	then
		echo $1
		:
	else
		echo $1 rcutorture.n_barrier_cbs=4
		echo rcutorture.n_barrier_cbs=4
	fi
}

@@ -38,9 +38,20 @@ rcutorture_param_n_barrier_cbs () {
rcutorture_param_onoff () {
	if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2"
	then
		echo CPU-hotplug kernel, adding rcutorture onoff.
		echo $1 rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	else
		echo $1
		echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2
		echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	fi
}

# per_version_boot_params bootparam-string config-file seconds
#
# Adds per-version torture-module parameters to kernels supporting them.
per_version_boot_params () {
	echo $1 `rcutorture_param_onoff "$1" "$2"` \
		`rcutorture_param_n_barrier_cbs "$1"` \
		rcutorture.stat_interval=15 \
		rcutorture.shutdown_secs=$3 \
		rcutorture.rcutorture_runnable=1 \
		rcutorture.test_no_idle_hz=1 \
		rcutorture.verbose=1
}
+16 −5
Original line number Diff line number Diff line
@@ -26,9 +26,9 @@
rcutorture_param_n_barrier_cbs () {
	if echo $1 | grep -q "rcutorture\.n_barrier_cbs"
	then
		echo $1
		:
	else
		echo $1 rcutorture.n_barrier_cbs=4
		echo rcutorture.n_barrier_cbs=4
	fi
}

@@ -39,8 +39,19 @@ rcutorture_param_onoff () {
	if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2"
	then
		echo CPU-hotplug kernel, adding rcutorture onoff. 1>&2
		echo $1 rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	else
		echo $1
		echo rcutorture.onoff_interval=3 rcutorture.onoff_holdoff=30
	fi
}

# per_version_boot_params bootparam-string config-file seconds
#
# Adds per-version torture-module parameters to kernels supporting them.
per_version_boot_params () {
	echo $1 `rcutorture_param_onoff "$1" "$2"` \
		`rcutorture_param_n_barrier_cbs "$1"` \
		rcutorture.stat_interval=15 \
		rcutorture.shutdown_secs=$3 \
		rcutorture.rcutorture_runnable=1 \
		rcutorture.test_no_idle_hz=1 \
		rcutorture.verbose=1
}