Commit ed4ea4d9 authored by Michal Berger's avatar Michal Berger Committed by Konrad Sztyber
Browse files

test/nvmf: Explicitly load sch_mqprio module under ADQ tests

This is a dependency for the mqprio qdisc which is used in the tc
setup.

Under newer kernels, we need to do this explicitly, especially under
a distro which ships with blacklists targeted at sch_* modules (all
rhel-based distros currently, e.g. fedora). This is due to:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2c15a5aee2



and accompanying changes. Since blacklist is applied in alias
context, and since the above commit introduced aliases for all
the net/sched drivers, the request_module(), which essentially
falls onto modrobe, won't bring required module into the kernel.
Under < 6.9 kernels this "just" worked, since aliases were not
in place (so essentially, the rhel sch_* blacklists were broken
until this particular change in the kernel happened).

To mitigate, it's best to load this drivers on our own to jump
over any potential blacklists.

Change-Id: I8941a49cc16915b319867aee171bd5f9c606f4b1
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24713


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent d3594f84
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -50,6 +50,14 @@ function adq_configure_nvmf_target() {
}

function adq_reload_driver() {
	# Load sch_ modules by their canonical names in case they are blacklisted.
	# >= 6.9 kernels call request_module() pointing at their alias now, hence
	# when the request is passed down to modprobe it simply won't load it in
	# blacklist is in place. So add whatever other NET_* modules are needed
	# below.
	modprobe -a \
		sch_mqprio

	rmmod ice
	modprobe ice
	sleep 5