All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <andrew.jones@linux.dev>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: eric.auger@redhat.com, lvivier@redhat.com, thuth@redhat.com,
	 frankja@linux.ibm.com, imbrenda@linux.ibm.com,
	nrb@linux.ibm.com, david@redhat.com,  pbonzini@redhat.com,
	kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	 linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,  will@kernel.org,
	julien.thierry.kdev@gmail.com, maz@kernel.org,
	 oliver.upton@linux.dev, suzuki.poulose@arm.com,
	yuzenghui@huawei.com, joey.gouly@arm.com,
	 andre.przywara@arm.com
Subject: Re: [kvm-unit-tests PATCH v2 07/18] scripts: Introduce kvmtool_opts
Date: Tue, 21 Jan 2025 17:24:23 +0100	[thread overview]
Message-ID: <20250121-9bef2681da529d9d41f524d3@orel> (raw)
In-Reply-To: <20250120164316.31473-8-alexandru.elisei@arm.com>

On Mon, Jan 20, 2025 at 04:43:05PM +0000, Alexandru Elisei wrote:
> In preparation for supporting kvmtool, create and pass the variable
> 'kvmtool_opts' to the arch run script $RUNTIME_arch_run.
> 
> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> ---
>  scripts/common.bash  |  6 ++++--
>  scripts/runtime.bash | 14 +++++++++++---
>  2 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/scripts/common.bash b/scripts/common.bash
> index a40c28121b6a..1b5e0d667841 100644
> --- a/scripts/common.bash
> +++ b/scripts/common.bash
> @@ -37,6 +37,7 @@ function for_each_unittest()
>  	local check
>  	local accel
>  	local timeout
> +	local kvmtool_opts
>  	local rematch
>  
>  	exec {fd}<"$unittests"
> @@ -45,7 +46,7 @@ function for_each_unittest()
>  		if [[ "$line" =~ ^\[(.*)\]$ ]]; then
>  			rematch=${BASH_REMATCH[1]}
>  			if [ -n "${testname}" ]; then
> -				$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout"
> +				$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout" "$kvmtool_opts"

It looks odd to have both qemu_opts and kvmtool_opts at the same time.

>  			fi
>  			testname=$rematch
>  			smp=1
> @@ -57,6 +58,7 @@ function for_each_unittest()
>  			check=""
>  			accel=""
>  			timeout=""
> +			kvmtool_opts=""
>  		elif [[ $line =~ ^file\ *=\ *(.*)$ ]]; then
>  			kernel=$TEST_DIR/${BASH_REMATCH[1]}
>  		elif [[ $line =~ ^smp\ *=\ *(.*)$ ]]; then
> @@ -80,7 +82,7 @@ function for_each_unittest()
>  		fi
>  	done
>  	if [ -n "${testname}" ]; then
> -		$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout"
> +		$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout" "$kvmtool_opts"
>  	fi
>  	exec {fd}<&-
>  }
> diff --git a/scripts/runtime.bash b/scripts/runtime.bash
> index a89f2d10ab78..451b5585f010 100644
> --- a/scripts/runtime.bash
> +++ b/scripts/runtime.bash
> @@ -35,7 +35,7 @@ get_cmdline()
>  {
>      local kernel=$1
>  
> -    echo "TESTNAME=$testname TIMEOUT=$timeout MACHINE=$machine ACCEL=$accel $RUNTIME_arch_run $kernel $qemu_opts"
> +    echo "TESTNAME=$testname TIMEOUT=$timeout MACHINE=$machine ACCEL=$accel $RUNTIME_arch_run $kernel $opts"
>  }
>  
>  skip_nodefault()
> @@ -87,8 +87,16 @@ function run()
>      local check="${CHECK:-$8}"
>      local accel="$9"
>      local timeout="${10:-$TIMEOUT}" # unittests.cfg overrides the default
> -
> -    qemu_opts="-smp $smp $qemu_opts"
> +    local kvmtool_opts="${11}"
> +
> +    case "$TARGET" in
> +    qemu)
> +        opts="-smp $smp $qemu_opts"
> +        ;;
> +    kvmtool)
> +        opts="--cpus $smp $kvmtool_opts"
> +        ;;
> +    esac

This is similar to what I was proposing with the associative array, but
we'll only need to set a $vmm variable once with the array. If parsing
command lines is different between the vmms then we can even add
functions to the table

vmm_opts[qemu,func]=qemu_func
vmm_opts[kvmtool,func]=kvmtool_func

eval ${vmm_opts[$vmm,func]} ...

Thanks,
drew

>  
>      if [ "${CONFIG_EFI}" == "y" ]; then
>          kernel=${kernel/%.flat/.efi}
> -- 
> 2.47.1
> 
> 
> -- 
> kvm-riscv mailing list
> kvm-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kvm-riscv

-- 
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Jones <andrew.jones@linux.dev>
To: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: eric.auger@redhat.com, lvivier@redhat.com, thuth@redhat.com,
	 frankja@linux.ibm.com, imbrenda@linux.ibm.com,
	nrb@linux.ibm.com, david@redhat.com,  pbonzini@redhat.com,
	kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	 linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org,  will@kernel.org,
	julien.thierry.kdev@gmail.com, maz@kernel.org,
	 oliver.upton@linux.dev, suzuki.poulose@arm.com,
	yuzenghui@huawei.com, joey.gouly@arm.com,
	 andre.przywara@arm.com
Subject: Re: [kvm-unit-tests PATCH v2 07/18] scripts: Introduce kvmtool_opts
Date: Tue, 21 Jan 2025 17:24:23 +0100	[thread overview]
Message-ID: <20250121-9bef2681da529d9d41f524d3@orel> (raw)
In-Reply-To: <20250120164316.31473-8-alexandru.elisei@arm.com>

On Mon, Jan 20, 2025 at 04:43:05PM +0000, Alexandru Elisei wrote:
> In preparation for supporting kvmtool, create and pass the variable
> 'kvmtool_opts' to the arch run script $RUNTIME_arch_run.
> 
> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> ---
>  scripts/common.bash  |  6 ++++--
>  scripts/runtime.bash | 14 +++++++++++---
>  2 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/scripts/common.bash b/scripts/common.bash
> index a40c28121b6a..1b5e0d667841 100644
> --- a/scripts/common.bash
> +++ b/scripts/common.bash
> @@ -37,6 +37,7 @@ function for_each_unittest()
>  	local check
>  	local accel
>  	local timeout
> +	local kvmtool_opts
>  	local rematch
>  
>  	exec {fd}<"$unittests"
> @@ -45,7 +46,7 @@ function for_each_unittest()
>  		if [[ "$line" =~ ^\[(.*)\]$ ]]; then
>  			rematch=${BASH_REMATCH[1]}
>  			if [ -n "${testname}" ]; then
> -				$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout"
> +				$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout" "$kvmtool_opts"

It looks odd to have both qemu_opts and kvmtool_opts at the same time.

>  			fi
>  			testname=$rematch
>  			smp=1
> @@ -57,6 +58,7 @@ function for_each_unittest()
>  			check=""
>  			accel=""
>  			timeout=""
> +			kvmtool_opts=""
>  		elif [[ $line =~ ^file\ *=\ *(.*)$ ]]; then
>  			kernel=$TEST_DIR/${BASH_REMATCH[1]}
>  		elif [[ $line =~ ^smp\ *=\ *(.*)$ ]]; then
> @@ -80,7 +82,7 @@ function for_each_unittest()
>  		fi
>  	done
>  	if [ -n "${testname}" ]; then
> -		$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout"
> +		$(arch_cmd) "$cmd" "$testname" "$groups" "$smp" "$kernel" "$qemu_opts" "$arch" "$machine" "$check" "$accel" "$timeout" "$kvmtool_opts"
>  	fi
>  	exec {fd}<&-
>  }
> diff --git a/scripts/runtime.bash b/scripts/runtime.bash
> index a89f2d10ab78..451b5585f010 100644
> --- a/scripts/runtime.bash
> +++ b/scripts/runtime.bash
> @@ -35,7 +35,7 @@ get_cmdline()
>  {
>      local kernel=$1
>  
> -    echo "TESTNAME=$testname TIMEOUT=$timeout MACHINE=$machine ACCEL=$accel $RUNTIME_arch_run $kernel $qemu_opts"
> +    echo "TESTNAME=$testname TIMEOUT=$timeout MACHINE=$machine ACCEL=$accel $RUNTIME_arch_run $kernel $opts"
>  }
>  
>  skip_nodefault()
> @@ -87,8 +87,16 @@ function run()
>      local check="${CHECK:-$8}"
>      local accel="$9"
>      local timeout="${10:-$TIMEOUT}" # unittests.cfg overrides the default
> -
> -    qemu_opts="-smp $smp $qemu_opts"
> +    local kvmtool_opts="${11}"
> +
> +    case "$TARGET" in
> +    qemu)
> +        opts="-smp $smp $qemu_opts"
> +        ;;
> +    kvmtool)
> +        opts="--cpus $smp $kvmtool_opts"
> +        ;;
> +    esac

This is similar to what I was proposing with the associative array, but
we'll only need to set a $vmm variable once with the array. If parsing
command lines is different between the vmms then we can even add
functions to the table

vmm_opts[qemu,func]=qemu_func
vmm_opts[kvmtool,func]=kvmtool_func

eval ${vmm_opts[$vmm,func]} ...

Thanks,
drew

>  
>      if [ "${CONFIG_EFI}" == "y" ]; then
>          kernel=${kernel/%.flat/.efi}
> -- 
> 2.47.1
> 
> 
> -- 
> kvm-riscv mailing list
> kvm-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kvm-riscv

  reply	other threads:[~2025-01-21 16:24 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-20 16:42 [kvm-unit-tests PATCH v2 00/18] arm/arm64: Add kvmtool to the runner script Alexandru Elisei
2025-01-20 16:42 ` Alexandru Elisei
2025-01-20 16:42 ` [kvm-unit-tests PATCH v2 01/18] run_tests: Document --probe-maxsmp argument Alexandru Elisei
2025-01-20 16:42   ` Alexandru Elisei
2025-01-21 14:41   ` Andrew Jones
2025-01-21 14:41     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 02/18] Document environment variables Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 14:41   ` Andrew Jones
2025-01-21 14:41     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 03/18] scripts: Refuse to run the tests if not configured for qemu Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 14:48   ` Andrew Jones
2025-01-21 14:48     ` Andrew Jones
2025-01-21 15:54     ` Alexandru Elisei
2025-01-21 15:54       ` Alexandru Elisei
2025-01-21 16:17       ` Andrew Jones
2025-01-21 16:17         ` Andrew Jones
2025-01-21 16:20         ` Alexandru Elisei
2025-01-21 16:20           ` Alexandru Elisei
2025-02-10 10:41     ` Alexandru Elisei
2025-02-10 10:41       ` Alexandru Elisei
2025-02-10 13:56       ` Andrew Jones
2025-02-10 13:56         ` Andrew Jones
2025-02-10 18:04         ` Alexandru Elisei
2025-02-10 18:04           ` Alexandru Elisei
2025-02-17 16:02           ` Al Dunsmuir
2025-02-17 16:02             ` Al Dunsmuir
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 04/18] run_tests: Introduce unittest parameter 'qemu_params' Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 15:46   ` Andrew Jones
2025-01-21 15:46     ` Andrew Jones
2025-02-12 13:40     ` Alexandru Elisei
2025-02-12 13:40       ` Alexandru Elisei
2025-02-12 15:48       ` Andrew Jones
2025-02-12 15:48         ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 05/18] scripts: Rename run_qemu_status -> run_test_status Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 15:55   ` Andrew Jones
2025-01-21 15:55     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 06/18] scripts: Merge the qemu parameter -smp into $qemu_opts Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:12   ` Andrew Jones
2025-01-21 16:12     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 07/18] scripts: Introduce kvmtool_opts Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:24   ` Andrew Jones [this message]
2025-01-21 16:24     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 08/18] scripts/runtime: Detect kvmtool failure in premature_failure() Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:29   ` Andrew Jones
2025-01-21 16:29     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 09/18] scripts/runtime: Skip test when kvmtool and $accel is not KVM Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:30   ` Andrew Jones
2025-01-21 16:30     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 10/18] scripts/arch-run: Add support for kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:46   ` Andrew Jones
2025-01-21 16:46     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 11/18] arm/run: " Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-21 16:50   ` Andrew Jones
2025-01-21 16:50     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 12/18] scripts/runtime: Add default arguments " Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 14:07   ` Andrew Jones
2025-01-23 14:07     ` Andrew Jones
2025-01-23 14:20     ` Alexandru Elisei
2025-01-23 14:20       ` Alexandru Elisei
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 13/18] run_tests: Do not probe for maximum number of VCPUs when using kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:36   ` Andrew Jones
2025-01-23 15:36     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 14/18] run_tests: Add KVMTOOL environment variable for kvmtool binary path Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:43   ` Andrew Jones
2025-01-23 15:43     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 15/18] Add kvmtool_params to test specification Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:53   ` Andrew Jones
2025-01-23 15:53     ` Andrew Jones
2025-02-11 15:03     ` Alexandru Elisei
2025-02-11 15:03       ` Alexandru Elisei
2025-02-12 15:56       ` Andrew Jones
2025-02-12 15:56         ` Andrew Jones
2025-02-12 16:34         ` Alexandru Elisei
2025-02-12 16:34           ` Alexandru Elisei
2025-02-13 13:59           ` Andrew Jones
2025-02-13 13:59             ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 16/18] scripts/mkstandalone: Export $TARGET Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 15:53   ` Andrew Jones
2025-01-23 15:53     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 17/18] unittest: Add disabled_if parameter and use it for kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 16:08   ` Andrew Jones
2025-01-23 16:08     ` Andrew Jones
2025-01-20 16:43 ` [kvm-unit-tests PATCH v2 18/18] run_tests: Enable kvmtool Alexandru Elisei
2025-01-20 16:43   ` Alexandru Elisei
2025-01-23 16:12   ` Andrew Jones
2025-01-23 16:12     ` Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250121-9bef2681da529d9d41f524d3@orel \
    --to=andrew.jones@linux.dev \
    --cc=alexandru.elisei@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=david@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=imbrenda@linux.ibm.com \
    --cc=joey.gouly@arm.com \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-s390@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lvivier@redhat.com \
    --cc=maz@kernel.org \
    --cc=nrb@linux.ibm.com \
    --cc=oliver.upton@linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=suzuki.poulose@arm.com \
    --cc=thuth@redhat.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.