Commit 494ddd95 authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

test/scheduler: add tests for scheduler opts



Make sure that fix added in b238468d is tested.
As observed in issue #3421, this can be easily missed.

While here added any relevant tests that make sense.

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ib53370dd18f9e1f3722c7949d24c2c2fd79e0848
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23956


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent f108bc4f
Loading
Loading
Loading
Loading

test/scheduler/rpc.sh

0 → 100755
+39 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
#  SPDX-License-Identifier: BSD-3-Clause
#  Copyright (C) 2024 Intel Corporation
#  All rights reserved.
#

testdir=$(readlink -f "$(dirname "$0")")
rootdir=$(readlink -f "$testdir/../../")

source "$rootdir/test/common/autotest_common.sh"
source "$testdir/common.sh"

rpc=rpc_cmd

function scheduler_opts() {
	"${SPDK_APP[@]}" -m "$spdk_cpumask" &
	spdk_pid=$!
	trap 'killprocess $spdk_pid; exit 1' SIGINT SIGTERM EXIT
	waitforlisten $spdk_pid

	# It is possible to change settings generic scheduler opts for schedulers in event framework
	$rpc framework_set_scheduler static -p 424242
	[[ "$($rpc framework_get_scheduler | jq -r '. | select(.scheduler_name == "static") | .scheduler_period')" -eq 424242 ]]

	# Verify that the scheduler is changed and the non-default value is set
	$rpc framework_set_scheduler dynamic --core-limit 42
	[[ "$($rpc framework_get_scheduler | jq -r '. | select(.scheduler_name == "dynamic") | .core_limit')" -eq 42 ]]

	# Switch scheduler back and forth and verify values are kept (scheduler implementation specific)
	$rpc framework_set_scheduler gscheduler
	[[ "$($rpc framework_get_scheduler | jq -r '.scheduler_name')" == "gscheduler" ]]
	$rpc framework_set_scheduler dynamic
	[[ "$($rpc framework_get_scheduler | jq -r '. | select(.scheduler_name == "dynamic") | .core_limit')" -eq 42 ]]

	trap - SIGINT SIGTERM EXIT
	killprocess $spdk_pid
}

run_test "scheduler_opts" scheduler_opts
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ source "$testdir/isolate_cores.sh"

"$rootdir/scripts/setup.sh"

run_test "scheduler_rpc" "$testdir/rpc.sh"
run_test "idle" "$testdir/idle.sh"
#run_test "load_balancing" "$testdir/load_balancing.sh"
run_test "dpdk_governor" "$testdir/governor.sh"