ppc64le: rcutorture warns about improperly set `CONFIG_HYPERVISOR_GUEST` and `CONFIG_PARAVIRT`

2 messages, 2 authors, 2022-02-07 · open the first message on its own page

ppc64le: rcutorture warns about improperly set `CONFIG_HYPERVISOR_GUEST` and `CONFIG_PARAVIRT`

From: Paul Menzel <hidden>
Date: 2022-02-07 16:53:34

Dear Sebastian, dear Paul,


In commit a6fda6dab9 (rcutorture: Tweak kvm options) 
`tools/testing/selftests/rcutorture/configs/rcu/CFcommon` was extended 
by the three selections below:

     CONFIG_HYPERVISOR_GUEST=y
     CONFIG_PARAVIRT=y
     CONFIG_KVM_GUEST=y

Unfortunately, `CONFIG_HYPERVISOR_GUEST` is x86 specific and 
`CONFIG_PARAVIRT` only available on x86 and ARM.

Thus, running the tests on a ppc64le system (POWER8 IBM S822LC), the 
script shows the warnings below:

     :CONFIG_HYPERVISOR_GUEST=y: improperly set
     :CONFIG_PARAVIRT=y: improperly set

Do you have a way, how to work around that?


Kind regards,

Paul

Re: ppc64le: rcutorture warns about improperly set `CONFIG_HYPERVISOR_GUEST` and `CONFIG_PARAVIRT`

From: "Paul E. McKenney" <paulmck@kernel.org>
Date: 2022-02-07 17:58:40

On Mon, Feb 07, 2022 at 05:53:05PM +0100, Paul Menzel wrote:
Dear Sebastian, dear Paul,


In commit a6fda6dab9 (rcutorture: Tweak kvm options)
`tools/testing/selftests/rcutorture/configs/rcu/CFcommon` was extended by
the three selections below:

    CONFIG_HYPERVISOR_GUEST=y
    CONFIG_PARAVIRT=y
    CONFIG_KVM_GUEST=y

Unfortunately, `CONFIG_HYPERVISOR_GUEST` is x86 specific and
`CONFIG_PARAVIRT` only available on x86 and ARM.

Thus, running the tests on a ppc64le system (POWER8 IBM S822LC), the script
shows the warnings below:

    :CONFIG_HYPERVISOR_GUEST=y: improperly set
    :CONFIG_PARAVIRT=y: improperly set

Do you have a way, how to work around that?
If you can tell me the Kconfig-option incantation for ppc64le, my thought
would be to make rcutorture look for a CFcommon.ppc64.  Then the proper
Kconfig options for each architecture could be supplied.

While we are thinking about this, here is the bash function that
figures out which architecture rcutorture is running on, which
is passed the newly built vmlinux file:

identify_qemu () {
	local u="`file "$1"`"
	if test -n "$TORTURE_QEMU_CMD"
	then
		echo $TORTURE_QEMU_CMD
	elif echo $u | grep -q x86-64
	then
		echo qemu-system-x86_64
	elif echo $u | grep -q "Intel 80386"
	then
		echo qemu-system-i386
	elif echo $u | grep -q aarch64
	then
		echo qemu-system-aarch64
	elif uname -a | grep -q ppc64
	then
		echo qemu-system-ppc64
	else
		echo Cannot figure out what qemu command to use! 1>&2
		echo file $1 output: $u
		# Usually this will be one of /usr/bin/qemu-system-*
		# Use TORTURE_QEMU_CMD environment variable or appropriate
		# argument to top-level script.
		exit 1
	fi
}

First, any better approach?

Second, we need to know the Kconfig options -before- the vmlinux
file is generated.  What is the best approach in that case?

							Thanx, Paul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help